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 Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph
Spring Boot: Customize Whitelabel Error Page
Chuyển đổi giữa các kiểu dữ liệu trong Java
A Quick Guide to Using Keycloak with Spring Boot
Java Program to Check the Connectivity of Graph Using DFS
Giới thiệu HATEOAS
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Quick Guide to @RestClientTest in Spring Boot
Hướng dẫn Java Design Pattern – Bridge
Batch Processing with Spring Cloud Data Flow
Java Program to implement Bi Directional Map
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Introduction to the Java ArrayDeque
A Guide to TreeMap in Java
Quick Guide to Spring MVC with Velocity
Using Java Assertions
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Spring’s RequestBody and ResponseBody Annotations
Overflow and Underflow in Java
Intro to Spring Boot Starters
Netflix Archaius with Various Database Configurations
Lớp HashMap trong Java
Java Program to Implement Variable length array
How to Read HTTP Headers in Spring REST Controllers
Tạo số và chuỗi ngẫu nhiên trong Java
Java Program to Implement Solovay Strassen Primality Test Algorithm
Sử dụng CyclicBarrier trong Java
Spring Boot - Enabling HTTPS
String Operations with Java Streams
Java Program to Implement Hash Tables with Quadratic Probing
Java Program to Implement Uniform-Cost Search
Guide to Java Instrumentation