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:
Thao tác với tập tin và thư mục trong Java
Filtering a Stream of Optionals in Java
Java Program to Implement the Monoalphabetic Cypher
Guide to the Synchronized Keyword in Java
Java Program to Perform Arithmetic Operations on Numbers of Size
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Spring Boot - Flyway Database
Quick Guide to @RestClientTest in Spring Boot
@Order in Spring
Tránh lỗi NullPointerException trong Java như thế nào?
Giới thiệu Google Guice – Injection, Scope
Hướng dẫn sử dụng Java Annotation
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Java Program to Implement Self organizing List
Simple Single Sign-On with Spring Security OAuth2
Một số nguyên tắc, định luật trong lập trình
How to Count Duplicate Elements in Arraylist
Java Program to Implement AttributeList API
Multipart Upload with HttpClient 4
Checking for Empty or Blank Strings in Java
Java Program to Implement Insertion Sort
Hướng dẫn Java Design Pattern – Visitor
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Converting between an Array and a List in Java
Java Program to Implement Sorted Vector
An Example of Load Balancing with Zuul and Eureka
Spring Data MongoDB Transactions
Using Spring @ResponseStatus to Set HTTP Status Code
Java Program to add two large numbers using Linked List