Completed Analysis
This commit is contained in:
parent
7300e4270e
commit
5612854dd5
56
midterm.m
56
midterm.m
|
|
@ -18,3 +18,59 @@ clc
|
||||||
% Thomas Périn, thomas.perin@ecam.fr
|
% Thomas Périn, thomas.perin@ecam.fr
|
||||||
% 20/04/2023
|
% 20/04/2023
|
||||||
%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
signal = csvread('unknownsignal.csv');
|
||||||
|
fs = 300; %Sampling frequency
|
||||||
|
n = length(signal);
|
||||||
|
t = 0:1/fs:(n-1)/fs;
|
||||||
|
windowDuration = 1;
|
||||||
|
|
||||||
|
figure;
|
||||||
|
plot(t, signal);
|
||||||
|
title('Original Signal');
|
||||||
|
xlabel('time (s)');
|
||||||
|
ylabel('amplitude (a.u.)');
|
||||||
|
|
||||||
|
%%%% Windowing %%%%
|
||||||
|
rectangularWin = zeros(1, n);
|
||||||
|
for l_sample=1:windowDuration*fs
|
||||||
|
rectangularWin(l_sample) = 1;
|
||||||
|
end
|
||||||
|
|
||||||
|
% plot rectangular window
|
||||||
|
figure;
|
||||||
|
plot(t, rectangularWin);
|
||||||
|
title('Rectangular Window');
|
||||||
|
xlabel('time (s)');
|
||||||
|
ylabel('amplitude (a.u.)');
|
||||||
|
|
||||||
|
% apply the rectangular window
|
||||||
|
for l_sample=1:n
|
||||||
|
signal_rect(l_sample) = signal(l_sample) * rectangularWin(l_sample);
|
||||||
|
end
|
||||||
|
|
||||||
|
% plot rectangular signal
|
||||||
|
figure;
|
||||||
|
plot(t, signal_rect);
|
||||||
|
title('Signal with Rectangular Windowing');
|
||||||
|
xlabel('time (s)');
|
||||||
|
ylabel('amplitude (a.u.)');
|
||||||
|
|
||||||
|
|
||||||
|
%%%% Spectral Analisis %%%%
|
||||||
|
% compute DFT of input signal
|
||||||
|
y = fft(signal_rect, n);
|
||||||
|
% power of the DFT
|
||||||
|
power = abs(y).^2/n;
|
||||||
|
|
||||||
|
figure;
|
||||||
|
f = (0:n-1)*(fs/n); % frequency range
|
||||||
|
plot(f,power);
|
||||||
|
title('Frequency Plot');
|
||||||
|
xlabel('frequency (Hz)');
|
||||||
|
ylabel('amplitude (a.u.)');
|
||||||
|
|
||||||
|
idx = find(power(61:81) == max(power(61:81)));
|
||||||
|
f(idx+60)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue