No BSD License  

Highlights from
Adaptive Optimal Kernel

5.0

5.0 | 1 rating Rate this file 13 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)

An Adaptive Optimal-Kernel Time-Frequency Representation

| 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)
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

Contact us at files@mathworks.com