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 – Reader to Byte Array
Spring Boot - Scheduling
Object Type Casting in Java
Java Program to Implement SynchronosQueue API
Mảng (Array) trong Java
Java Program to Implement Sorting of Less than 100 Numbers in O(n) Complexity
Java Program to Implement Rope
Java – Try with Resources
Converting Iterator to List
Java Program to Implement Queue
Java Program to Implement WeakHashMap API
Lớp Collectors trong Java 8
Java Program to Implement Treap
Read an Outlook MSG file
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Understanding Memory Leaks in Java
Java Program to Represent Graph Using 2D Arrays
Java Program to Implement Sorted Singly Linked List
Java Program to Print only Odd Numbered Levels of a Tree
A Quick Guide to Spring Cloud Consul
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
A Guide to @RepeatedTest in Junit 5
Java Program to Generate Random Hexadecimal Byte
Java Program to Implement Booth Algorithm
Giới thiệu về Stream API trong Java 8
Java Program to Implement Sparse Array
Java Program to find the number of occurrences of a given number using Binary Search approach
Overview of Spring Boot Dev Tools
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Simple Single Sign-On with Spring Security OAuth2
Java Program to Implement Park-Miller Random Number Generation Algorithm