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 Commenti

Azzi Abdelmalek
Azzi Abdelmalek il 17 Nov 2012
Modificato: Azzi Abdelmalek il 17 Nov 2012
Provide more details about your simulink model
mona
mona il 17 Nov 2012
Message signal is composed of three sine waves, 500 Hz, 1.5kHz and 2.5kHz with different amplitudes (1, 0.5, 0.2) as well. These were distorted but now the step size is reduced in the configuration parameters. Hence I'm getting perfect sine waves. Regarding the carrier, its 20kHz with Amplitude 1. The sine wave which I'm getting in the time scope connected to the carrier is also fine but a bit distorted. But as soon as I am multiplying message signal (sum all sine waves after passing through adder) with carrier, I'm getting a straight line along zero on the x-axis. My product's sample time is 0.0001. Now from this, where could you detect the problem?
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
mona il 18 Nov 2012
What do you mean when you say sampling rate? I am using signal generator basically along with simple time scope and not the one based on FFT.

Accedi per commentare.

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 18 Nov 2012
Modificato: Azzi Abdelmalek il 18 Nov 2012

0 voti

If the carrier frequency is 20 Khz, then your fixed step size must be less then 0.00005. I will set fixed step size=0.000005

Più risposte (1)

sumanth
sumanth il 15 Mar 2026 alle 7:40

0 voti

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');

Categorie

Prodotti

Richiesto:

il 17 Nov 2012

Risposto:

il 15 Mar 2026 alle 7:40

Community Treasure Hunt

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

Start Hunting!

Translated by