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:
Using JWT with Spring Security OAuth
Java Program to Implement Pollard Rho Algorithm
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Getting Started with Stream Processing with Spring Cloud Data Flow
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Guide to CopyOnWriteArrayList
An Introduction to Java.util.Hashtable Class
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Setting Up Swagger 2 with a Spring REST API
Lập trình đa luồng với CompletableFuture trong Java 8
Getting Started with GraphQL and Spring Boot
Period and Duration in Java
Java Program to Implement CopyOnWriteArrayList API
Command-Line Arguments in Java
Spring Boot - Application Properties
A Custom Data Binder in Spring MVC
Hashtable trong java
Java Program to Create a Random Linear Extension for a DAG
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Jackson – JsonMappingException (No serializer found for class)
Java Timer
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
A Guide to Java HashMap
Java Program to Find the GCD and LCM of two Numbers
Java Program to Implement Patricia Trie
Enum trong java
Java Program to Implement Rope
Java Program to Implement Skew Heap
Java Program to Generate Random Hexadecimal Byte
A Guide to the ResourceBundle
Sử dụng CyclicBarrier trong Java