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:
JPA/Hibernate Persistence Context
Java Program to Implement PriorityQueue API
Programmatic Transaction Management in Spring
Spring WebClient and OAuth2 Support
Registration – Password Strength and Rules
Hướng dẫn Java Design Pattern – Adapter
A Guide to Spring Cloud Netflix – Hystrix
Java Program to Implement LinkedBlockingDeque API
Converting a Stack Trace to a String in Java
The Spring @Controller and @RestController Annotations
Java InputStream to String
Java Program to Perform Naive String Matching
Java Convenience Factory Methods for Collections
Java Program to Create a Random Graph Using Random Edge Generation
Multi Dimensional ArrayList in Java
Transaction Propagation and Isolation in Spring @Transactional
Hướng dẫn sử dụng Java Reflection
Spring Cloud Bus
An Intro to Spring Cloud Vault
Intersection of Two Lists in Java
Java Program to Implement Unrolled Linked List
A Guide to Java SynchronousQueue
Sorting Query Results with Spring Data
Introduction to Spring Data JPA
Hướng dẫn Java Design Pattern – Composite
Chuyển đổi giữa các kiểu dữ liệu trong Java
Java Program to Encode a Message Using Playfair Cipher
Guide to Mustache with Spring Boot
Java Program to Implement Euclid GCD Algorithm
Java Program to Implement Singly Linked List
Send email with authentication
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers