Amplitude Modulation using simulink
Afficher commentaires plus anciens
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 commentaires
Azzi Abdelmalek
le 17 Nov 2012
Modifié(e) : Azzi Abdelmalek
le 17 Nov 2012
Provide more details about your simulink model
mona
le 17 Nov 2012
Arsalan
le 18 Nov 2012
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
le 18 Nov 2012
Réponse acceptée
Plus de réponses (1)
sumanth
le 15 Mar 2026 à 7:40
0 votes
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');
Catégories
En savoir plus sur ECG / EKG dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!