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:

Custom Cascading in Spring Data MongoDB
New Features in Java 11
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Java Program to Implement Circular Doubly Linked List
Java Program to Find Whether a Path Exists Between 2 Given Nodes
So sánh Array và ArrayList trong Java
Java Program to Implement Hash Tables with Quadratic Probing
Inject Parameters into JUnit Jupiter Unit Tests
Testing an OAuth Secured API with Spring MVC
HttpClient Basic Authentication
Bootstrapping Hibernate 5 with Spring
A Guide to the ResourceBundle
Java Program to Implement Bucket Sort
Java Program to Implement Shoelace Algorithm
Notify User of Login From New Device or Location
How to Read a Large File Efficiently with Java
Java Program to Represent Graph Using Incidence Matrix
Java Program to Implement Doubly Linked List
Call Methods at Runtime Using Java Reflection
Java Program to find the number of occurrences of a given number using Binary Search approach
@DynamicUpdate with Spring Data JPA
Debugging Reactive Streams in Java
Java Program to Implement Network Flow Problem
Generate Spring Boot REST Client with Swagger
Java Program to Perform Searching Using Self-Organizing Lists
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Spring Boot Tutorial – Bootstrap a Simple Application
Java Program to Check whether Directed Graph is Connected using DFS
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Receive email using IMAP
Java Program to Check Whether a Directed Graph Contains a Eulerian Cycle
HttpClient 4 – Send Custom Cookie