SignalMidterm/main.m

47 lines
873 B
Matlab

%%%%%%
%main code
%
%LY Pechvattana
%
%%%%%%
pkg load signal
%load data
signal = csvread('unknownsignal.csv');
%input data
fs = 300; %Sampling freq (Hz)
fc = 100; %Cut-off Freq (Hz)
n = 4; % Filter order
samplingDuration = length(signal);
window_size = samplingDuration/2;
%plotting signal in time domain
figure;
plot(signal);
xlabel('Time in [s]');
ylabel('Amplitude');
title('Signal data in time domain');
%frequency Spectrum
frequencySpectrum(signal,fs);
%spectrogram
%spectrogram(signal, samplingFreq, 30, 5)
%low pass filter
[b, a] = butter(n, fc/(fs/2), 'low');
signal_filtered = filter(b, a, signal);
t = 0 : length(signal) - 1;
subplot(2,1,1);
plot(t, signal);
title('Original Signal');
xlabel('Time (samples)');
ylabel('Amplitude');
subplot(2,1,2);
plot(t, signal_filtered);
title('Low-pass Filtered Signal');
xlabel('Time (samples)');
ylabel('Amplitude');