Is centredFFT function really exist?
Show older comments
i try to run this code that i get from a website. however, the MATLAB cannot read the "centeredFFT" whenever i try to enter this line: function [X,f] = centeredFFT(x,Fs); it will return this line: ??? Undefined function or method 'centeredFFT' for input arguments of type 'double'. may i know what is the reason behind this?
i am thinking that i need to use extra toolbox, which i don't know its name.
below is the code
[y,Fs,bits] = auread('bird_chirping2.au');
x = y(:,1);
clear y; N = length(x);
time = [1:N].*(1/Fs);
han = plot(time,x); xlab = xlabel('Seconds'); ylab = ylabel('Amplitude'); grid on; set(han,'LineWidth', 2); set([xlab, ylab],'FontSize', 24, 'FontName', 'Times'); set(gca,'FontSize',20,'FontName','Times','Fontweight','Bold')
% wavwrite(x,Fs,bits,'test.wav');
[X,f] = centeredFFT(x,Fs);
figure; han1 = plot(f,abs(X)); axis([-8000,8000,0,max(abs(X))]); grid on; xlab1=xlabel('Frequency(Hz)'); ylab1=ylabel('|X[k]|'); set(han1,'LineWidth', 2); set([xlab1, ylab1],'FontSize', 24, 'FontName', 'Times'); set(gca,'FontSize',20,'FontName','Times','Fontweight','Bold')
% sound(x,Fs,bits);
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
fc = 2000; fNorm = fc / ( Fs/2); [b,a] = butter(10, fNorm, 'low'); x_Low = filtfilt(b, a, x);
figure; freqz(b,a,bits,Fs/2); grid on;
% sound(x_Low,Fs,bits); % wavwrite(x_Low,Fs,bits,'x_Low_.wav');
[X_LOW,f_low] = centeredFFT(x_Low,Fs);
figure; han2=plot(f_low,abs(X_LOW)); axis([-.8e4,.8e4,0,max(abs(X))]); grid on; xlab2=xlabel('Frequency(Hz)'); ylab2=ylabel('|X[k]|)'); set(han2,'LineWidth', 2); set([xlab2, ylab2],'FontSize', 24, 'FontName', 'Times'); set(gca,'FontSize',20,'FontName','Times','Fontweight','Bold')
figure; han3=plot(time,x_Low); grid on; xlab3=xlabel('Frequency(Hz)'); ylab3=ylabel('|X[k]|)'); set(han3,'LineWidth', 2); set([xlab3, ylab3],'FontSize', 24, 'FontName', 'Times'); set(gca,'FontSize',20,'FontName','Times','Fontweight','Bold')
Accepted Answer
More Answers (1)
Can Matlab find your downloaded function?
which centeredFFT
If not, move your function to your current directory or another directory in Matlab's search path.
1 Comment
Categories
Find more on Transforms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!