How to do frequency scaling in Frequency spectrum?

3 次查看(过去 30 天)
disp('%=================================================%')
disp('%~~~~~~~~ `` Assalamualaikum `` ~~~~~~~~~%')
disp('% ```` Principle of Communication ( MATLAB ) ````%')
disp('')
disp('%`````````` *GROUP MEMBERS* ``````````%')
disp('%`` 1. ONG JIA EEK - A17MB0157 ``%')
disp('%`` 2. MAISARAAH YUZLAN - A17MB0078 ``%')
disp('%`` 3. NUR RAIHAN NAJAH BINTI TURIMAN - A17MB0137 ``%')
disp('')
disp('%=================================================%')
z=1
while z==1
A = menu('Please, select one! ','1.FULL AM','2.DSB-SC','3.SSB-SC','4.DSBSC & SSBSC SPECTRUM')
switch A
case 1
%>>>>>>>>>>>>>>>>>>>> 1.AM Modulation Simulation <<<<<<<<<<<<<<<<<<<<<<<<<<
clc;
close all;
%XXXXXXXXXXXXXXXXX modulating signal generation XXXXXXXXXXXXXXXXXXXXXXXXXX
disp('fc value must be larger than fm value.');
Em=input('Enter the value of amplitude modulation, Em ='); %amplitude of modulating signal
fm=input ('Enter the value of frequency modulation, fm ='); % Frequency of modulating signal
Tm=1/fm; % Time period of modulating signal
t=0:Tm/999:6*Tm; % Total time for modulated signal simulation (6 cycles will be displayed)
tm=0:Tm/999:6*Tm; % Total time for modulating signal simulation (6 cycles will be displayed)
ym=Em*cos(2*pi*fm*tm); % Equation of modulating signal
%XXXXXXXXXXXXXXXXXXXXX carrier signal generation XXXXXXXXXXXXXXXXXXXXXXXXXX
Ec=input('Enter the value of carrier signal amplitude, Ec =');% Amplitude of carrier signal
fc=input('Enter the value if carrier signal frequency, fc =');% Frequency of carrier signal
Tc=1/fc; % Time period of carrier signal
tc=0:Tc/999:6*Tc; % Total time for carrier signal simulation (6 cycles will be displayed)
yc=Ec*cos(2*pi*fc*tc);% Equation of carrier signal
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AM Modulation XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
m=Em/Ec; % modulation index
y= Ec*(1+m*cos(2*pi*fm*t)).*cos(2*pi*fc*t); % Equation of Amplitude modulated signal
figure(1);
subplot(3,1,1);
plot(t,ym, 'g'), grid on;% Graphical representation of Modulating signal
title ( ' Modulating Signal ');
xlabel ( ' time(sec) ');
ylabel (' Amplitude(volt) ');
subplot(3,1,2);
plot(t,yc, 'r'), grid on;% Graphical representation of carrier signal
title ( ' Carrier Signal ');
xlabel ( ' time(sec) ');
ylabel (' Amplitude(volt) ');
subplot(3,1,3);
plot(t,y, 'm');% Graphical representation of AM signal
title ( ' Amplitude Modulated signal ');
xlabel ( ' time(sec) ');
ylabel (' Amplitude(volt) ');
grid on;
case 2
%>>>>>>>>>>>>>>>>>>>> 2.Double-Sideband Suppressed-Carrier Transmission (DSB-SC) <<<<<<<<<<<<<<<<<<<<<<<<<<
clc;
clear all;
Em = input ('Enter the message signal amplitude = ');
Ec = input ('Enter the carrier signal amplitude = ');
fm = input ('Enter the message frequency = ');
fc = input ('Enter the carrier frequency = ');
m = Em/Ec;
%T=input('enter the duration over which the signal is to be plotted= ')
%fs=input('enter the sampling frequency= ')
%t=0:T/fs:T;
% Representation of the Message Signal
t = 0:0.0001:0.05;
Message_Signal = Em*cos (2*pi*fm*t);
subplot (3,1,1);
plot (t,Message_Signal,'b');
xlabel ('Time');
ylabel ('Amplitude');
title ('Message Signal');
legend ('Message Signal');
% Representation of the Carrier Signal
Carrier_Signal = cos(2*pi*fc*t);
subplot (3,1,2);
plot (t,Carrier_Signal,'r');
xlabel ('Time');
ylabel ('Amplitude');
title ('Carrier Signal');
legend ('Carrier Signal');
% Representation of the DSBSC Signal
DSBSC_Signal=Ec*m.*cos (2*pi*fm*t).*cos (2*pi*fc*t)
subplot (3,1,3);
plot (t,DSBSC_Signal,'m');
xlabel ('Time');
ylabel ('Amplitude');
title ('Double Sideband Suppressed Carrier Wave');
legend ('DSB-SC Signal');
% Add title to the Overall Plot
ha = axes ('Position',[0 0 1 1],'Xlim',[0 1],'Ylim',[0 1],'Box','off','Visible','off','Units','normalized', 'clipping' , 'off');
text (0.5, 1,'\bf Analog Modulation Technique: Double Sideband Suppressed-Carrier Transmission (DSB-SC)','HorizontalAlignment','center','VerticalAlignment', 'top')
case 3
%>>>>>>>>>>>>>>>>>>>> 3.Single-Sideband Suppressed-Carrier Transmission (SSB-SC) <<<<<<<<<<<<<<<<<<<<<<<<<<
clc;
clear all;
close all;
fm=input('enter the message frequency fm = ')
fc=input('enter the carrier frequency fc = ')
T=input('enter the duration over which the signal is to be plotted = ')
fs=input('enter the sampling frequency = ')
t=0:T/fs:T;
%t = 0:0.0001:0.05;
%generation of Modulating and Carrier signals and their Hilbert Transforms
m=cos(2*pi*fm*t) %modulating signal
m1=cos(2*pi*fm*t-(pi/2)) %Hilbert signal
n=cos(2*pi*fc*t) %carrier signal
n1=cos(2*pi*fc*t-(pi/2)) %Hilbert signal
%%generation of Two AM-DSB-SC signals
M=m.*n;
M1=m1.*n1;
%%generation of AM-SSB-SC signal
ssb=M+M1; %modulated signal
subplot (3,1,1);
plot (t,m,'b');
xlabel ('Time');
ylabel ('Amplitude');
title ('Message Signal');
subplot (3,1,2);
plot (t,n,'r');
xlabel ('Time');
ylabel ('Amplitude');
title ('Carrier Signal');
subplot (3,1,3);
plot (t,ssb,'m');
xlabel ('Time');
ylabel ('Amplitude');
title ('Single Sideband Suppressed Carrier Wave');
ha = axes ('Position',[0 0 1 1],'Xlim',[0 1],'Ylim',[0 1],'Box','off','Visible','off','Units','normalized', 'clipping' , 'off');
text (0.5, 1,'\bf Analog Modulation Technique: Single Sideband Suppressed-Carrier Transmission (SSB-SC)','HorizontalAlignment','center','VerticalAlignment', 'top')
case 4
%>>>>>>>>>>>>>>>>>>>> 4.DSBSC AND SSBSC FREQUENCY SPECTRUM <<<<<<<<<<<<<<<<<<<<<<<<<<
clc;
close all;
%XXXXXXXXXXXXXXXXX modulating signal generation XXXXXXXXXXXXXXXXXXXXXXXXXX
disp('fc value must be larger than fm value.');
Em=input('Enter the value of amplitude modulation, Em ='); %amplitude of modulating signal
fm=input ('Enter the value of frequency modulation, fm ='); % Frequency of modulating signal
Tm=1/fm; % Time period of modulating signal
t=0:Tm/999:6*Tm; % Total time for modulated signal simulation (6 cycles will be displayed)
tm=0:Tm/999:6*Tm; % Total time for modulating signal simulation (6 cycles will be displayed)
ym=Em*cos(2*pi*fm*tm); % Equation of modulating signal
%XXXXXXXXXXXXXXXXXXXXX carrier signal generation XXXXXXXXXXXXXXXXXXXXXXXXXX
Ec=input('Enter the value of carrier signal amplitude, Ec =');% Amplitude of carrier signal
fc=input('Enter the value if carrier signal frequency, fc =');% Frequency of carrier signal
Tc=1/fc; % Time period of carrier signal
tc=0:Tc/999:6*Tc; % Total time for carrier signal simulation (6 cycles will be displayed)
yc=Ec*cos(2*pi*fc*tc);% Equation of carrier signal
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AM Modulation XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
m=Em/Ec; % modulation index
y= Ec*(1+m*cos(2*pi*fm*t)).*cos(2*pi*fc*t); % Equation of Amplitude modulated signal
%XXXXXXXXXXXXXXXXXXXXXXX Frequency Spectrum Of Modulated Signal XXXXXXXXXXX
N = length(y); %Number of samples
fs= 2*fc; % Sample frequency (Hz)
f =(0:N-1)*(fs/N); %frequency range(Hz)
% Double-sided amplitude spectrum
figure(2);
subplot(3,1,1);
Amp = abs(fftshift(fft(y))); %Amplitude of spectrum
plot(f, Amp, 'g')
xlabel('Frequency (Hz)')
ylabel('Amplitude');
title('Double-sideband frequency spectrum (Hertz)');
% Single-sided amplitude spectrum with frequency axis in Hertz
subplot(3,1,2);
Amp = abs(fft(y)); %Amplitude of modulated signal in Frequency spectrum
plot(f, Amp,'b');
xlabel('Frequency (Hz)')
ylabel('Amplitude');
title('Single-sideband frequency spectrum (Hertz)');
%>>>>>>>>>>>>>>>>>>>>>> end of program <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
end
B = menu('Do you want to continue?','1.Yes','2.No');
switch B
case 1
z=1;
case 2
z=0;
end
end
As above is my code, I wish to obtain the correct frequency spectrum code for ssb and dsb but unfortunately, I couldn't get it.

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by