Midterm_signal_processing/read.m

42 lines
1.0 KiB
Matlab

clc
clear all
close all
pkg load signal
signal = csvread('unknownsignal.csv');
Fs=300;
N = length(signal);
t = 0:1/Fs:(N-1)/Fs;
rectwin = rectwin(N);
figure;
plot(t,signal.*rectwin);
xlabel('Time (s)');
ylabel('Amplitude');
title('Unknown Signal in Time Domain');
hammingwin = @hamming(N);
signal_hamming = signal.*hammingwin;
signal_fft = abs(fft(signal_hamming)/N).^2;
f = Fs*(0:N-1)/N;
figure;
plot(f,signal_fft);
xlabel('Frequency (Hz)');
ylabel('Power Spectral Density (dB/Hz)');
title('Power Spectral Density of Unknown Signal');
Wn = [30 40]/(Fs/2);
[b,a] = butter(4,Wn,'bandpass');
signal_filtered = filter(b,a,signal);
figure;
plot(t,signal_filtered.*rectwin);
xlabel('Time (s)');
ylabel('Amplitude');
title('Filtered Signal in Time Domain');
signal_filtered_hamming = signal_filtered.*hammingwin;
signal_filtered_fft = abs(fft(signal_filtered_hamming)/N).^2;
figure;
plot(f,signal_filtered_fft);
xlabel('Frequency (Hz)');
ylabel('Power Spectral Density (dB/Hz)');
title('Power Spectral Density of Filtered Signal');