Extended DFT Matlab script

SPONSORED LINKS

    Specification

  • Version:
  • File size: 0 KB
  • File name: edft.zip
  • Last update:
  • Platform: Windows / Linux / Mac OS / BSD / Solaris
  • Language: Matlab
  • Price:Freeware
  • Company: Vilnis Liepins (View more)

Extended DFT script description:




Publisher review:
Extended DFT - Program EDFT produce high-resolution N-point DFT for N greater then length of data vector. EDFT (Extended Discrete Fourier Transform) produce Discrete N-point Fourier Transform (DFT) for shorter then N sequence X. Unlike Fast Fourier Transform (FFT), where unknown readings outside of X are zero-padded, the proposed EDFT algorithm for calculation of DFT using only available data. Application of EDFT function is simple and similar to FFT, besides EDFT have the following additional features:

1. EDFT can extrapolate input sequence X to length N. That is, if apply EDFT for N>length(X), get the results:F=edft(X,N)=edft(Y)=fft(Y); Y=ifft(F), where Y is X plus non-zero forward and backward extrapolation of X to length N or/and interpolation if unknown data inside of X have been replaced by NaN (Not-a-Number).

2. EDFT can increase frequency resolution up to 1/(N*T), where T is sampling period. It is well known, that zero-padding do not increase frequency resolution of DFT, therefore the resolution of FFT algorithm is limited by length of sequence length(X)*T. Of course, there is no magic- FFT just have equal resolution on all N frequencies, while EDFT have ability to increase the resolution on some frequencies and decrease on others. The sum of resolutions along the frequency axis for both algorithms remain equal to N*length(X)*T.

3. EDFT can estimate amplitudes and phases of sinusoidal components in sequence X. Like as FFT output fft(X,N)/length(X) is proportional to amplitudes of sinusoids in X, also adding a second output argument for EDFT return the amplitude spectrum S of sequence X: [F,S]=edft(X,N).

4. Input sequence of EDFT may contain NaN. The proposed algorithm can interpolate and reconstruct of missing readings or even data segments (gaps) inside of sequence X. You just need to replace unknown readings by NaN and run edft(X) or edft(X,N).

5. EDFT can run with limit to maximum number of iterations (input argument I) or either in non-iterative (I=1) mode[F,S]=edft(X,N,I) or[F,S,Stopit]=edft(X,N,I,W),where W is weight vector and consisting of specific weights for each frequency in F. W is propotional to the amplitude spectrum of the signal. So, a`priori knowledge about form of the input sequence amplitude spectrum S can be used to setup appropriate weight vector W, otherwise default (equal) weight W=ones(size(F)) will be applied. Stopit is an informative (optional) output parameter. The first row of Stopit showing the number of performed iteration, the second row indicate breaking of iteration reason (see EDFT help).

6. Is it possible to estimate DFT of nonuniformly (irregularly) sampled input sequence by proposed algorithm? Yes, it is. As result, the Nonuniform EDFT (NEDFT) program introduced for processing of input sequence X sampled at arbitrary time moments tk. NEDFT call line: [F,S]=nedft(X,tk,fn) will perform DFT of sequence X(tk) and return outputs F(fn) and S(fn). If frequencies fn are on different grid then used by FFT and EDFT algorithms, a simple Inverse NEDFT (INEDFT) program should be applied to reconstruct Y(tn), call line: Y=inedft(F,fn,tn).

7. Two-dimensional EDFT of array X can be calculated by applying function edft2.m, call line F=edft2(X, mrows, ncols).See programs edft.m, edft2.m nedft.m and inedft.m help for detailed info.

Launch also DEMO programs demoedft.m and demonedft.m to check proposed algorithm performance for the simulated test signal.

Read attached ExtendedDFT.pdf to get more comprehensive insight into suggested algorithm. Requirements: ยท MATLAB Release: R10
Extended DFT is a Matlab script for Signal Processing scripts design by Vilnis Liepins. It runs on following operating system: Windows / Linux / Mac OS / BSD / Solaris.

Operating system:
Windows / Linux / Mac OS / BSD / Solaris

Latest script and internet news

222

222

22

Posted on: 18 Jul 2023 22:27 by A. Brown

111

111

111

Posted on: 18 Jul 2023 22:24 by A. Brown

The permanently active Push system offered by the new Google Chrome 42

The permanently active Push system offered by the new Google Chrome 42

Hacked By !Sc-sT

Posted on: 17 Mar 2015 07:57 by A. Brown

SPREAD THE WORD

User Rating


Rating: 2.2 out of 5
Based on 13 ratings. 13 user reviews.

  • Currently 2.15 out of 5
  • 1
  • 2
  • 3
  • 4
  • 5