59 lines
1013 B
Matlab
59 lines
1013 B
Matlab
#################
|
|
#Created By: Loann Rio
|
|
#Created :20/04/2023 08:27:54
|
|
#
|
|
#Last modified: 02/03/2023 08:28:32
|
|
#
|
|
#################
|
|
|
|
pkg load signal;
|
|
|
|
clc;
|
|
close all;
|
|
clear all;
|
|
|
|
|
|
signal = csvread ('unknownsignal.csv');
|
|
|
|
figure;
|
|
plot(signal);
|
|
title("raw Signal");
|
|
xlabel("time");
|
|
ylabel("Amplitude");
|
|
|
|
% set signal of interest
|
|
SStart = 100;
|
|
SEnd = 400;
|
|
|
|
Fs = 300;
|
|
|
|
lenDomain = 1 + (SEnd - SStart);
|
|
|
|
windowed_signal= zeros(lenDomain);
|
|
|
|
% using blackman , we get the signal of interest
|
|
windowed_signal = signal(SStart:SEnd) .* blackman(lenDomain)';
|
|
|
|
figure;
|
|
plot(SStart: SEnd, windowed_signal);
|
|
title("Blackman signal windowing");
|
|
xlabel("samples");
|
|
ylabel("Amplitude");
|
|
|
|
frequencySpectrum(windowed_signal, Fs, 0);
|
|
|
|
%spectrogram(windowed_signal, Fs, 1/Fs, 1000*length(signal)/Fs);
|
|
|
|
% filter using filter and butter
|
|
|
|
[val, ind] = max(windowed_signal);
|
|
|
|
figure;
|
|
[b, a] = butter(6, 10/Fs);
|
|
s = filter(b, a, 10*log10(windowed_signal/windowed_signal(ind)));
|
|
plot(50:300, s(50:300));
|
|
|
|
|
|
audiowrite("sound.wav", signal, Fs);
|
|
|