This is the java implementation of calculating coefficients of the given function performing the Discrete-Fourier Transform. Formula for calculating the coefficient is X(k) = Sum(x(n)*cos(2*PI*k*n/N) – iSum(x(n)*sin(2*PI*k*n/N)) over 0 to N-1
Here is the source code of the Java Program to Compute DFT Coefficients Directly. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a sample program to calculate a DFT Coefficients using the formula
import java.util.Scanner;
public class DFT_Coefficient
{
double real, img;
public DFT_Coefficient()
{
this.real = 0.0;
this.img = 0.0;
}
public static void main(String args[])
{
int N = 10;
Scanner sc = new Scanner(System.in);
System.out.println("Calculation DFT Coefficients");
System.out.println("Enter the coefficient of simple linear funtion:");
System.out.println("ax + by = c");
double a = sc.nextDouble();
double b = sc.nextDouble();
double c = sc.nextDouble();
double []function = new double[N];
for(int i=0; i<N; i++)
{
function[i] = (((a*(double)i) + (b*(double)i)) - c);
//System.out.print( " "+function[i] + " ");
}
System.out.println("Enter the max K value: ");
int k = sc.nextInt();
double []cos = new double[N];
double []sin = new double[N];
for(int i=0; i<N; i++)
{
cos[i] = Math.cos((2 * i * k * Math.PI) / N);
sin[i] = Math.sin((2 * i * k * Math.PI) / N);
}
DFT_Coefficient dft_val = new DFT_Coefficient();
System.out.println("The coefficients are: ");
for(int i=0; i<N; i++)
{
dft_val.real += function[i] * cos[i];
dft_val.img += function[i] * sin[i];
}
System.out.println("("+dft_val.real + ") - " + "("+dft_val.img + " i)");
sc.close();
}
}
Output:
$ javac DFT_Coefficient.java $ java DFT_Coefficient Calculation DFT Coefficients Enter the coefficient of simple linear funtion: ax + by = c 1 2 3 Enter the max K value: 2 The coefficients are: (-15.00000000000001) - (-20.6457288070676 i)
Related posts:
Spring Boot - Admin Client
Getting Started with Stream Processing with Spring Cloud Data Flow
Functional Interface trong Java 8
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Set Interface trong Java
Merging Streams in Java
Apache Tiles Integration with Spring MVC
Java Program to Implement Vector API
Java Program to Implement Sparse Matrix
Guide to the ConcurrentSkipListMap
An Intro to Spring Cloud Task
Java Program to Find the Edge Connectivity of a Graph
Java Program to Implement Traveling Salesman Problem using Nearest neighbour Algorithm
Transactions with Spring and JPA
Concurrent Test Execution in Spring 5
Multi Dimensional ArrayList in Java
Spring Boot - Google Cloud Platform
Java Program to Implement Find all Forward Edges in a Graph
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Reading an HTTP Response Body as a String in Java
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Giới thiệu Swagger – Công cụ document cho RESTfull APIs
Java Program to Implement Hash Tables
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Servlet 3 Async Support with Spring MVC and Spring Security
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC
Validate email address exists or not by Java Code
Hướng dẫn Java Design Pattern – Transfer Object
Java Program to Find Transpose of a Graph Matrix
An Intro to Spring Cloud Vault
Request a Delivery / Read Receipt in Javamail