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 - Web Socket
Collect a Java Stream to an Immutable Collection
Difference Between Wait and Sleep in Java
Runnable vs. Callable in Java
Count Occurrences of a Char in a String
Java Concurrency Interview Questions and Answers
How to Kill a Java Thread
Handling URL Encoded Form Data in Spring REST
Java Program for Topological Sorting in Graphs
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Convert char to String in Java
Java Program to Implement Interpolation Search Algorithm
Java Program to Implement ConcurrentHashMap API
Hướng dẫn Java Design Pattern – Object Pool
Java Program to Implement Horner Algorithm
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
A Guide to Iterator in Java
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
The Basics of Java Security
Java Perform to a 2D FFT Inplace Given a Complex 2D Array
Java Program to Implement Max Heap
An Intro to Spring Cloud Vault
Guide to Guava Table
Concurrent Test Execution in Spring 5
Java Program to Implement Maximum Length Chain of Pairs
HttpClient 4 – Follow Redirects for POST
Wiring in Spring: @Autowired, @Resource and @Inject
Introduction to Spring MVC HandlerInterceptor
Java Program to Check Whether a Given Point is in a Given Polygon
Java Program to Check whether Graph is a Bipartite using DFS
Mảng (Array) trong Java
Comparing Dates in Java