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:
Java Program to Implement Quick sort
Java InputStream to String
Java Program to Implement PriorityQueue API
Java Program to Implement PriorityBlockingQueue API
Zipping Collections in Java
Injecting Prototype Beans into a Singleton Instance in Spring
Servlet 3 Async Support with Spring MVC and Spring Security
Spring’s RequestBody and ResponseBody Annotations
CyclicBarrier in Java
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Guide to Character Encoding
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
Spring Boot - Internationalization
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Java Program to implement Dynamic Array
Working with Tree Model Nodes in Jackson
Java Program to Implement LinkedTransferQueue API
The HttpMediaTypeNotAcceptableException in Spring MVC
Connect through a Proxy
Biểu thức Lambda trong Java 8 – Lambda Expressions
Java Map With Case-Insensitive Keys
Immutable Map Implementations in Java
Spring Boot - Service Components
Java Program to Implement SimpeBindings API
Giới thiệu HATEOAS
Composition, Aggregation, and Association in Java
RestTemplate Post Request with JSON
Java Program to Implement Merge Sort Algorithm on Linked List
Java Program to Implement Iterative Deepening
Một số ký tự đặc biệt trong Java
Lập trình đa luồng với Callable và Future trong Java
Java Program to Implement VList