SSB信号的调制与解调
一. 题目要求:
用 matlab 产生一个频率为1Hz,功率为1 的余弦信源,设载波频率,, 试画出:
SSB 调制信号的时域波形;
采用相干解调后的 SSB 信号波形;
SSB 已调信号的功率谱;
在接收端带通后加上窄带高斯噪声,单边功率谱密度0 n = 0.1,重新解调。 二. 实验原理:
1.单边带调制只传送一个边带的调制方式,SSB信号的带宽是与消息信号m(t)相同。
对信号采取先调制搬频,再过低通(高通)滤波器取上(下)边带的方法进行调制。
2.单边带信号解调方法:相干解调法
mt cos0tmˆtsin0tcos0tmt1mtcos20t1mˆtsin20t222相干解调后让信号过低通滤波器,取得有用信号mt,其幅度为调制信号一半。 三. 实验结果与分析
1.信号发送端调制信号与载波时域图形:
由题意生成一个频率为1Hz,功率为1 的余弦信源,设载波频率,如图:
调制信号1.510.50-0.5-1-1.51200.511.522.5t载波信号33.544.551.510.50-0.5-1-1.500.511.522.5t33.544.55如图,调制信号为低频信号,载波为高频信号。 2.假设信道理想,对信号进行调制与解调:
调制信号时域波形210-1-200.511.522.533.544.55
相干解调后的信号时域波形10.50-0.5-100.511.522.5t33.544.55如图可知,经相干解调后的单边带信号时域形状不变,仅仅是幅度变为原信号的一半。
3.调制信号、SSB信号与解调后信号频谱比较:
调制信号功率谱20-20-15-10-505fSSB信号功率谱10152020-20-15-10-505f调制信号功率谱10152010-20-15-10-50f5101520由信号频谱图可知: (1) SSB调制是对调制信号进行搬频之后去边带,其频带宽度与原调制信号相同,频带利用率提高。 (2) 对SSB信号进行相干解调还原出原始信号的频谱与原调制信号相同,但其幅度减半。从数学公式结合物理角度看,SSB信号进行相干解调后仅有mt为有用信号,其余频率成分被低通滤波器滤掉了。
4.在接收端带通后加上窄带高斯噪声后从新进行解调:
0.6
120.40.20-0.2-0.4-0.6-0.8050100150200250300350400450500 由图可知,我们明显看出噪声对解调信号产生了影响,原正弦信号波形不再平坦,但幅度仍大约为调制信号的一半。
function [t st]=lpf(f,sf,B)
%This function filter an input data using a lowpa filter at frequency %domain %Inputs:
% f: frequency samples
% sf: input data spectrum samples
% B: lowpa\'s bandwidth with a rectangle lowpa %Outputs:
% t: frequency samples
% st: output data\'s time samples df = f(2)-f(1); T = 1/df;
hf = zeros(1,length(f));
bf = [-floor( B/df ): floor( B/df )] + floor( length(f)/2 ); hf(bf)=1; yf=hf.*sf;
[t,st]=F2T(f,yf); st = real(st);
function [t st]=F2T(f,sf)
%This function calculate the time signal using ifft function for the input
%signal\'s spectrum df = f(2)-f(1);
Fmx = ( f(end)-f(1) +df); dt = 1/Fmx;
N = length(sf); T = dt*N;
%t=-T/2:dt:T/2-dt; t = 0:dt:T-dt;
sff = ifftshift(sf); st = Fmx*ifft(sff);
function [f,sf]= T2F(t,st)
%This is a function using the FFT function to calculate a signal\'s Fourier
%Translation
%Input is the time and the signal vectors,the length of time must greater %than 2
%Output is the frequency and the signal spectrum dt = t(2)-t(1); T=t(end); df = 1/T;
N = length(st);
%f=-N/2*df+df/2:df:N/2*df-df/2; f=-N/2*df:df:N/2*df-df; sf = fft(st);
sf = T/N*fftshift(sf); %dff = df/8;
%ff = -50*df:dff:50*df; %mf = sinc(ff*T); %sf = conv(mf,sf)
%NN = length(f)+length(ff)-1; %f = -NN/2*dff:dff:NN/2*dff-dff;
%ÏÔʾģÄâµ÷ÖƵIJ¨Ðμ°½âµ÷·½·¨SSB
close all; clear all;
dt = 0.001; %ʱ¼ä²ÉÑù¼ä¸ô fm=1; %ÐÅÔ´×î¸ßƵÂÊ fc=10; %Ôز¨ÖÐÐÄƵÂÊ T=5; %ÐźÅʱ³¤ t = 0:dt:T;
mt = sqrt(2)*cos(2*pi*fm*t); %ÐÅÔ´ %N0 = 0.01; %°×Ôëµ¥±ß¹¦ÂÊÆ×ÃÜ¶È %SSB modulation
s_b = real( hilbert(mt).*exp(j*2*pi*fc*t) ); B=fm;
%noise = noise_nb(fc,B,N0,t); %s_b=s_b+noise; figure(1) subplot(211)
plot(t,mt); %±êʾmtµÄ²¨ÐÎ title(\'µ÷ÖÆÐźÅ\'); xlabel(\'t\'); subplot(212)
plot(t,s_b); %»-³öSSBÐźŲ¨ÐÎ title(\'Ôز¨ÐźÅ\'); xlabel(\'t\');
rt = s_b.*cos(2*pi*fc*t); rt = rt-mean(rt); [f,rf] = T2F(t,rt);
[t,rt] = lpf(f,rf,2*fm); figure(2) subplot(211) plot(t,mt);
title(\'µ÷ÖÆÐźÅʱÓò²¨ÐÎ\'); subplot(212) plot(t,rt);
title(\'Ïà¸É½âµ÷ºóµÄÐźÅʱÓò²¨ÐÎ\'); xlabel(\'t\')
figure(3)
subplot(311)
[f,sf]=T2F(t,mt);
psf1 = (abs(sf).^2)/T; plot(f,psf1);
axis([-2*fc 2*fc 0 max(psf1)]); title(\'µ÷ÖÆÐźŹ¦ÂÊÆ×\'); xlabel(\'f\');
subplot(312)
[f,sf]=T2F(t,s_b); psf2 = (abs(sf).^2)/T; plot(f,psf2);
axis([-2*fc 2*fc 0 max(psf2)]); title(\'SSBÐźŹ¦ÂÊÆ×\'); xlabel(\'f\');
subplot(313)
[f,sf]=T2F(t,rt);
psf3 = (abs(sf).^2)/T; plot(f,psf3);
axis([-2*fc 2*fc 0 max(psf3)]); title(\'µ÷ÖÆÐźŹ¦ÂÊÆ×\'); xlabel(\'f\');