필터 지우기
필터 지우기

Low pass filtering of FFt

조회 수: 4 (최근 30일)
Wes Madere
Wes Madere 2018년 4월 6일
So in my code I have a signal ynote that's made up of 4 different notes and added noise. What I'm trying to do is use fft to remove the white noise from the signal and compress the signal by removing magnitudes below 2000, but what I'm stuck at is how to go back using ifft. I want to be able to reconstruct the individual notes from the fft by using a filter, using the ifft for each, and then put the individual notes back together to try and recreate the original signal ynote. I have no idea how to do this though
ts=0.0001; %sampling rate
Fs=1/ts;
n=[0:7000]; %number of samples
t=5; %seconds the signal should last
%frequency values of other notes and keyboard position%
bflat4=466.2;
d5=587;
f5=698.5;
bflat5=932;
ynote1=10*cos(2*pi*bflat4*ts*n);
ynote2=1*cos(2*pi*d5*ts*n);
ynote3=8*cos(2*pi*f5*ts*n);
ynote4=1.5*cos(2*pi*bflat5*ts*n);
ynote=[ynote1,ynote2,ynote3,ynote4];
noise = 0.2*(rand(size(ynote))-0.5); %noise 0.25+/-
ynote =ynote + noise;
%%FFT compression
y=abs(fft(ynote));
plot(y)
ycomp=y;
for k = 1:28004
if ycomp(k) < 2000
ycomp(k)=0;
end
end

답변 (0개)

카테고리

Help CenterFile Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by