How can I implement the fft function on both signals.
2 views (last 30 days)
Show older comments
% generate a waveform
f0 =100;
fs=1000;
pw = 0.1;
pri = 1;
npulses = 100;
s = cos(2*pi*f0*(0:1/fs:pw)); % it can be any other waveform of your choice
s(round(fs*pri)) = 0; % PRI
s = repmat(s, npulses, 1); % npulses
% echo: delayed signal
tau = 0.3;
ntau = round(fs*tau);
amp = 0.5;
e = amp* circshift(s, ntau);
% add noise
sigma = 0.1;
r = s + e + sigma*randn(size(s));
y = pulsint(r);
Fn = fs/2
Fn = 500
Fco = 125; % Choose A Frequency > 0 & < fs/2
r_filt = lowpass(r, Fco, fs, 'ImpulseResponse','iir'); % Design An Elliptic Filter & Filter 'r'
figure
plot((0:length(s)-1)/fs, r_filt)
title('Filtered')
1 Comment
dpb
on 7 Sep 2022
What both signals?
As to the Q?, it's simple enough; either call fft twice, once for each desired input; this, of course, means you've got to create two new variable for the results (or use one for whatever purposes desired first before computing the second).
Alternatively, and "the MATLAB way" would be to put both signals into an array by column and then call FFT() -- it is vectorized to treat each column as a variable.
Answers (0)
See Also
Categories
Find more on Fourier Analysis and Filtering 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!