Match Filter and Sampling problem

조회 수: 9 (최근 30일)
Durgaprasad Srinivasa
Durgaprasad Srinivasa 2019년 10월 30일
댓글: Subhadeep Koley 2019년 11월 5일
clc;
clear all;
close all;
tp=2.2676*10^-3;
Ts=22.6757*10^-6;
fc=4000;
Tc=(1/fc);
fs=44100;
n=0:Ts:1000;
fp=(1/tp);
w=2*pi*fp;
p=sin(w*n*Ts);
p(find(p<0))=0;
figure(1)
subplot(3,1,1);
plot(n,p);
data = randi([0,1],1,1000);
a=[];
for k=1:2:1000
if data(k)==0 && data(k+1)==0
a=[a 1];
elseif data(k)==0 && data(k+1)==1
a=[a i];
elseif data(k)==1 && data(k+1)==0
a=[a -1];
elseif data(k)==1 && data(k+1)==1
a=[a -i];
end
end
figure(2)
subplot(3,1,2);
y_s=conv(a,p);
Trm=min(numel(n),numel(y_s))
n=n(1:Trm);
y_s=y_s(1:Trm);
plot (n,real(y_s), '-',n,imag(y_s), '--');
%% modulation of 2 signals
figure(3)
subplot(3,1,3);
in_phase_carrier=cos(2*pi*fc*n*Ts);
q_phase_carrier=sin(2*pi*fc*n*Ts);
y_m=real(y_s).*in_phase_carrier+imag(y_s).*q_phase_carrier;
plot (n,real(y_m), '-');
subplot(3,2,3);
plot(n,imag(y_m), '--');
pav=sum(y_m.^2)/length(y_m);
et=sum(y_m.^2)/fs;
snrdb=20;
snrlin=10.^(snrdb./10);
eb=sum(y_m.^2)/length(y_m);
u=0.00022676;
g=5/60;
n1=(u-n);
in_phase_carrier_rec=cos(2*pi*fc*n1*Ts);
q_phase_carrier_rec=sin(2*pi*fc*n1*Ts);
y_mn1=(real(y_s).*in_phase_carrier_rec)+(imag(y_s).*q_phase_carrier_rec);
figure(4)
subplot(4,1,4);
r = (sqrt((1-g)^2))*y_m+y_mn1*g;
plot(n,r);
snrdb=20;
snrlin=10.^(snrdb/10);
n0 = eb/snrlin;
sigma=(n0.*fs)/2;
noise = sqrt(sigma).*randn(1,length(y_m));
recieved=noise+r;
%% demodulation of signal
subplot(4,2,4);
r_dm_in=real(recieved).*in_phase_carrier;
plot(n,r_dm_in,'-');
r_dm_out=imag(recieved).*q_phase_carrier;
plot(n,r_dm_out,'--');
Hello I am trying to demodulate using match filter and sampling it wwith 44100Hz. can anyone help with match filter and sampling of this code.
  댓글 수: 1
Subhadeep Koley
Subhadeep Koley 2019년 11월 5일
Your code is running without an error. Can you elaborate what problem exactly you are facing? What is you expecting as the output?

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Modulation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by