Amplitude Modulation using simulink
이전 댓글 표시
I am currently doing amplitude modulation using three very high frequency sine waves which I getting perfectly after adding all the three due to already set parameters in the simulation parameter box.
The carrier frequency is also very high, up to 3000 Hz, but the scope is displaying is correctly. But after the message signal and carrier are passing through the product, I am not getting amplitude modulated signal. Instead, I am getting a completely zero straight line. My sample time in the Product is 0.0001.
I am pretty sure it has to do something with the product parameters or simulation parameters but I so not sure exactly what it is?
댓글 수: 4
Azzi Abdelmalek
2012년 11월 17일
편집: Azzi Abdelmalek
2012년 11월 17일
Provide more details about your simulink model
mona
2012년 11월 17일
Arsalan
2012년 11월 18일
Make sure you have the correct sampling rate again, both at transmitters and receiver. so you sampling rate will be 2.5*(max frequency component) i.e. 3Khz. make sure your are adding the three message signals and then multiplying the sum with the carrier wave. if your scope is working based on a FFT alogorithem then check the FFT paramaters
mona
2012년 11월 18일
채택된 답변
추가 답변 (1개)
sumanth
대략 24시간 전
0 개 추천
clc
close all;
clear all
Eb=1;Tb=1;
no=0.3;
snr=10*log10(Eb/no);
fc=10;fs=10*fc;
b=input("enter input sequence:");
n=length(b);
t=0:1/fs:n*Tb;
c=sqrt(2/Tb)*cos(2*pi*fc*t);
m=zeros(size(t));
R=zeros(size(t));
for i=1:n
m(fs*(i-1)+1:fs*i)=sqrt(Eb)*(2*b(i)-1);
end
s=c.*m;%BPSK generation
subplot(5,1,1);
stairs(t,m);
axis([0,n*Tb,-1.2*sqrt(Eb),1.2*sqrt(Eb)]);
xlabel('time');
ylabel('amplitude');
title('message signal');
subplot(5,1,2);
plot(t,c);
xlabel('time');
ylabel('amplitude');
title('carrier signal');
subplot(5,1,3);
plot(t,s);
xlabel('time');
ylabel('amplitude');
title('BPSK signal');
x_t=awgn(s,snr);
subplot(5,1,4);
plot(t,x_t);
xlabel('time');
ylabel('amplitude');
title('received signal');
d=x_t.*c;
r=zeros(1,n);
for i=1:n*Tb
x=sum(d(fs*(i-1)+1:fs*i));
if x>0
r(i)=1;
else
r(i)=0;
end
end
for i=1:n*Tb
R(fs*(i-1)+1:fs*i)=sqrt(Eb)*(2*r(i)-1);
end
subplot(5,1,5);
stairs(t,R);
axis([0,n*Tb,-1.2*sqrt(Eb),1.2*sqrt(Eb)]);
xlabel('time');
ylabel('amplitude');
title('recovered signal');
카테고리
도움말 센터 및 File Exchange에서 ECG / EKG에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!