Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
Dear fellows i am working on visible light communication and i removed frequency in the range of 3-200 HZ becuase of noise .Will you please do some modification in my code so that in last figure in time domain i use filter which does not remove noi
조회 수: 2 (최근 30일)
이전 댓글 표시
clc,close all,clear all
codn=70;
% fc=6e+3;
fs=3600;
bode=10;
code=round(rand(1,codn));
code_len=round(1/bode/(1/fs))
for ii=1:codn
x((ii-1)*code_len+1:code_len*ii)=code(ii);
end
x2 = x-(1/2) % get rid of most of the dc peak
% set up time and frequency arrays
N = length(x);
delt = 1/fs;
delf = fs/N
tvec = (1:N)*delt
fvec = (-N/2:N/2-1)*delf ; % shifted frequency array
figure(1)
plot(tvec,x2(1,:)+0.5)
title('orignal baseband')
xlabel('time');
ylabel('amplitude')
ylim([-1 1.5]);
y = fftshift(fft(x2)/N);
z=abs(y);
figure(2)
plot(fvec,abs(y))
title('FFT')
xlabel('frequency')
ylabel('amplitude')
figure(3)
z=y;
z(abs(fvec)>=3 & abs(fvec)<=200)=0
plot(fvec,abs(z))
xlabel('frequency removed from 3 to 200 HZ');
ylabel('amplitude')
figure(4)
zf=fftshift(z)*N;
zifft=ifft(zf)+0.5
plot(tvec,abs(zifft))
ylim([-1 1.5])
title('recovered signal')
xlabel('time');
ylabel('amplitude')
figure(5)
x2 = medfilt1(abs(zifft),70); % Filter with median filter
plot(tvec,x2)
title('Filtered Signal with median filter ')
xlabel('time ');
ylabel('amplitude ')
ylim([-1 1.5]);
댓글 수: 5
Daniel M
2019년 10월 22일
편집: Daniel M
2019년 10월 22일
No it's not clear. You're saying you want to remove noise from the signal in the plot "Filtered signal with median filter"? Can you indicate what you consider the noise to be in this signal? Looks pretty clean to me.
Also, and I've told you this before, it should be
zf=ifftshift(z)*N;
I've also asked you this before, but what do you want to do with the values of x outside of [0 1] range? Some suggestions: 1) clip values to the value at the boundary 2) take the reflection of the values about the boundary (like an absolute value) 3) normalize x to be within 0 and 1
And please post code using the "code" button so it is easier to read as well as copy/paste.
답변 (0개)
이 질문은 마감되었습니다.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!