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 Find Nearest Neighbor for Static Data Set
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Hướng dẫn Java Design Pattern – Flyweight
Control Structures in Java
Java Program to Perform Search in a BST
Java Program to Perform Left Rotation on a Binary Search Tree
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Java Program to Describe the Representation of Graph using Incidence Matrix
Disable Spring Data Auto Configuration
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
Supplier trong Java 8
Java Convenience Factory Methods for Collections
Serialize Only Fields that meet a Custom Criteria with Jackson
Spring Cloud – Adding Angular
Wiring in Spring: @Autowired, @Resource and @Inject
Generating Random Dates in Java
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Tìm hiểu cơ chế Lazy Evaluation của Stream trong Java 8
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Java Program to Check Whether Graph is DAG
Hướng dẫn Java Design Pattern – Decorator
Spring Security – Reset Your Password
Guide to the Fork/Join Framework in Java
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Servlet 3 Async Support with Spring MVC and Spring Security
Number Formatting in Java
An Introduction to ThreadLocal in Java
REST Pagination in Spring
Giới thiệu Design Patterns
So sánh ArrayList và LinkedList trong Java
Introduction to Spring Boot CLI
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x