Java Program to Compute DFT Coefficients Directly

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:

A Quick Guide to Spring Cloud Consul
Một số tính năng mới về xử lý ngoại lệ trong Java 7
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
Java Program to Implement JobStateReasons API
Jackson Ignore Properties on Marshalling
How To Serialize and Deserialize Enums with Jackson
Create a Custom Auto-Configuration with Spring Boot
Java Deep Learning Essentials - Yusuke Sugomori
How to Break from Java Stream forEach
Spring Cloud AWS – RDS
Introduction to PCollections
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Map Serialization and Deserialization with Jackson
Guide to the Java ArrayList
Java Program to Implement Dijkstra’s Algorithm using Queue
Guide to the Java Clock Class
Jackson Unmarshalling JSON with Unknown Properties
Returning Image/Media Data with Spring MVC
Spring REST API with Protocol Buffers
Java Program to Perform Arithmetic Operations on Numbers of Size
Auditing with JPA, Hibernate, and Spring Data JPA
Mockito and JUnit 5 – Using ExtendWith
Làm thế nào tạo instance của một class mà không gọi từ khóa new?
Tính đóng gói (Encapsulation) trong java
Spring Boot Change Context Path
Giới thiệu về Stream API trong Java 8
Java Program to Implement Gauss Seidel Method
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Java Program to Perform Sorting Using B-Tree
Converting Java Date to OffsetDateTime
Hướng dẫn Java Design Pattern – Singleton
REST Web service: Upload và Download file với Jersey 2.x