5.0

5.0 | 1 rating Rate this file 29 downloads (last 30 days) File Size: 109.22 KB File ID: #13869

Adaptive Optimal Kernel

by Tony Reina

 

05 Feb 2007 (Updated 16 Feb 2007)

No BSD License  

An Adaptive Optimal-Kernel Time-Frequency Representation

Download Now | Watch this File

File Information
Description

A time-frequency representation which uses a signal-dependent, radially Gaussian kernel that adapts over time. The code provides an excellent ambiguity domain filter for time-frequency analysis.

Just run the script main_AOK.m to see it in action. The test signal includes three impulses, two simultaneous sinusoids, a Gaussian pulse, and two parallel linear chirps.

The algorithms are described in detail in the paper:
"An Adaptive Optimal-Kernel Time-Frequency Representation" by D. L. Jones and R. G. Baraniuk, IEEE Transactions on Signal Processing, Vol. 43, No. 10, pp. 2361--2371, October 1995.

Special thanks to Richard Baraniuk for making the original C code available.

MATLAB release MATLAB 7.0.4 (R14SP2)
Zip File Content  
Other Files
ar_filter/chirp.mat,
ar_filter/chirp.sig,
ar_filter/chirp_aok.dat,
ar_filter/fft_tfr.m,
ar_filter/main_AOK.m,
ar_filter/mklag.m,
ar_filter/papertest.mat,
ar_filter/papertest.sig,
ar_filter/papertest_aok.dat,
ar_filter/papertest_aok64_64_32_3_1.8.dat,
ar_filter/plagmake.m,
ar_filter/polafint.m,
ar_filter/pthetamake.m,
ar_filter/rectaf.m,
ar_filter/rectamake.m,
ar_filter/rectkern.m,
ar_filter/rectopol.m,
ar_filter/rectrotmake.m,
ar_filter/sigupdate.m
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (1)
20 Nov 2007 Dave Campbell

This software works well and can handle large signals but could use some improved documentation. However if you are very familiar with the Jones and Baraniuk paper you can piece together what it is doing and especially the form of the output matrix. I am a fan of the AOK-TFR method for adaptive time-frequency estimation.

There seems to a minor glitches in the figure produced in main_AOK.m:
The plot it produces is inverted so that the positive frequency components are shown as negative frequencies and vice versa. Also the final plot is not trimmed so that the time axis does not correspond to the time interval of the original signal and the time units on this final plot are in observation points not seconds (or other original time units of the signal)

Consequently the time axis is of questionable value, however this is easily fixed by using something like on the output matrix ofp:

contour(1/samp_freq:1/samp_freq:(length(real(sig_in_tmp)))/samp_freq,...
f_axis,...
(abs(ofp((nraf/2+1):(length(real(sig_in_tmp))+nraf/2),:)')));
xlabel('Time');
ylabel('Frequency (Hz)');

Please login to add a comment or rating.
Updates
16 Feb 2007

There was an error in one of the lines in main_AOK.m

16 Feb 2007

Wrong category.

Tag Activity for this File
Tag Applied By Date/Time
time frequency Tony Reina 22 Oct 2008 08:59:49
wavelets Tony Reina 22 Oct 2008 08:59:49
domain Cristina McIntire 05 Feb 2009 13:34:47
ambiguity Cristina McIntire 05 Feb 2009 13:34:47
filtering Cristina McIntire 05 Feb 2009 13:34:47
time frequency Cristina McIntire 05 Feb 2009 13:34:47
analysis Cristina McIntire 05 Feb 2009 13:34:47
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com