———————————————————————————————— 作者: ———————————————————————————————— 日期:
ﻩ
实验报告册
课 程: 通信系统原理教程 实 验: 模拟信号调制实验 班 级:
姓 名:
学 号: 指导老师:
日 期:
评语: 成绩: 签名: 日期:
实验一: 模拟信号调制实验 实验目的:
1、基于matlab函数对模拟信号的调制,可以熟悉的掌握用matlab对模拟信号的调制、
解调。
2、通过训练,可以深刻的了解模拟调制、解调的过程,及一些基本思想,且得到一些应用。 实验原理:(理论过程)
幅度调制就是用调制信号去控制载波的振幅,使载波的振幅随调制信号的变化而变化。 其数学模型如上图示:
m(t一、基本概念
H(t) 1)时域表达式
Sm(t) 如果已调信号的包络与输入调制信号呈线性对应关系,而
且时间波形数学表达式为:
Cos2πfc SAM(t)=[Ao+m(t)]cos(ωc+θ0)
式中:m(t)为输入调制信号,它的最高频率为fm, m(t)可以是确知信号,也可以是随机信号,但没有直流成分,属于调制信号的交流分量; ωc为载波的频率;
θ0为载波的初始相位,在以后的分析中,通常为了方便假定θ0=0 ;
A0为外加的直流分量,如果调制信号中有直流分量,也可以把调制信号中的直流分量。
(t)[f(t)cost]*h(t)
1 ()[F()F()]H()2在波形上,幅度调制信号的幅度随基带信号规律而变化;在频谱结构上,其频谱完全是基带信号频谱结构在频域内的简单搬移。由于这种搬移是线性的,因此,幅度调制通常又称为线性调制。
二、 1、标准调幅 (AM)
令h(t) = (t) ,调制信号 (ft) 叠加直流A0 后与载波相乘,就可形成标准调幅(AM) 信号。 载波的振幅受f(t) 控制,已调波的包络按照f(t)的规律线性变化。
C(t)A0cos0 t简化起见,设初始相位 0 = 0 ,则载波为:
此时已调信号的时域一般表示式为: AM(t)[A0f(t)]cos0tA0cos0tf(t)cos0t
已调信号的频域一般表示式为: ()A[()()]1[F()F()]2、抑制载波双边带调幅(DSB) 2基本思想:抑制不携带信息的载波分量的功率,将有效功率用于边带传输,从而提高调制效率。
令载波信号的A0=0,得到DSB调制信号的时域和频域描述
(t)f(t)cost
1()[F()F()] 2DSB调幅波的产生和解调 DSB调制器的数学模型:
cccAM000ccDSB0DSB00
DSB相干解调器的数学模型:
设接收机的输入为:
vP(t 经过乘法器后 )f(t)cos(0t0)cos(0t)11f(t)[cos(0)cos(20t0)] vd(t)f(t)cos(0)22低通滤波器LPF滤掉 20 频率分量,经过LPF后 3、单边带调幅(SSB) 单边带信号的产生
滤波法产生单边带信号 产生SSB信号最直观的方法是让双边带信号通过一个边带滤波器,保留所需要的一个边带,滤除不要的边带。
DSB(t)f(t)cos(0t0)
设单频调制信号为 f(t) =Amcosmt,载波为c(t) =cos0t ,则DSB信号的时
DSB(t)f(t)c(t)Amcosmtcos0t域表示式为:
Amcos(m0)tAmcos(m0)t 22
上边带USB信号为: (t)1Amcos(m0)tUSB2 11Amcosmcos0tAmsinmsin0t22
1 LSB(t)Amcos(m0)t2下边带LSB信号为: 11Amcosmcos0tAmsinmsin0t 22
11两式合并为: SSB(t)Amcosmcos0tAmsinmsin0t22
11
实验步骤(即Matlab编程过程):
产生一个频率为1Hz、功率为1的余弦信源,设载波频率为10Hz,试画出:(其中调制信号x(t)= cos(πt))。 (1)A=2的AM调制信号; (2)DSB调制信号; (3)SSB调制信号;
(4)在信道中各自加入经过带同滤波器后的窄带高斯白噪声,功率为0.1,解调各个信号,
并画出解调后的波形。 %先画出调制信号x(t)= cos(πt)的波形 t=-5:0.1:5;
xt=cos(pi*t); subplot(111)
plot(t,xt);grid on; title('调制信号x(t)=cos(\\pi*t)的波形');
本实验前要先定义几个有用的matlab函数:T2F(傅里叶变换)、F2T(傅里叶反变换)、lpf(低通滤波器)、bpf(带通滤波器)、noise、noise_nb(噪声影响)。否则,无法运行。 T2F函数: %T2F(傅里叶变换) 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:N/2*df-df; sf=fft(st); sf=T/N*fftshift(sf); F2T(傅里叶反变换): 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=fftshift(sf); st=Fmx*ifft(sff); lpf(低通滤波器): function [t,st]=lpf(f,sf,B) % 本函数为通带为B的低通滤波器 % 入口参数:f:频率样本向量 % sf:频谱向量 % B:低通滤波器带宽 % 出口参数:t:时间向量 % st:输出信号向量 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); bpf(带通滤波器): function[t,st]=bpf(f,sf,B1,B2) df=f(2)-f(1); T=1/df; hf=zeros(1,length(f)); bf=[floor(B1/df):floor(B2/df)]; bf1=floor(length(f)/2)+bf; bf2=floor(length(f)/2)-bf; hf(bf1)=1/sqrt(2*B2-B1); hf(bf2)=1/sqrt(2*B2-B1); yf=hf.*sf.*exp(-j*2*pi*f*0.1*T); [t,st]=F2T(f,yf); noise、noise_nb(噪声影响): function noise() %noise Image=imread(); subplot(2,2,1); imshow(Image,[]); % 原图像 title('原图像'); noise_g=imnoise(Image,'gaussian');%增加高斯白噪声 subplot(2,2,2); imshow(noise_g,[]); %imwrite(noise_g,'noise_g.bmp') title('高斯白噪声'); noise_s=imnoise(Image,'salt & pepper'); subplot(2,2,3); imshow(noise_s,[]); title('黑白象素点噪声(椒盐)'); %imwrite(noise) function[out]=noise_nb(fc,B,N0,t) % noise_nb dt=t(2)-t(1); Fmx=1/dt; n_len=length(t); p=N0*Fmx; rn=sqrt(p)*randn(1,n_len); [f,rf]=T2F(t,rn);
调制过程编程如下:(在没有noise影响的情况) %信源 close all; clear all; dt=0.001; fm=1; fc=10; t=0:dt:5; mt=cos(pi*t).*cos(2*pi*fm*t); N0=0.1; %幅度AM调制 A=2; s_am=(A+mt).*cos(2*pi*fc*t); B=2*fm; figure(1) subplot(321) plot(t,s_am);hold on; plot(t,A+mt,'r--'); 解调 %AMrt=s_am.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt); [t,rt]=lpf(f,rf,2*fm); title('AM信号');xlabel('t'); subplot(322) plot(t,rt);hold on; plot(t,mt/2,'r--'); title('AM解调信号');xlabel('t'); %DSB调制 s_dsb=mt.*cos(2*pi*fc*t); B=2*fm; subplot(323) plot(t,s_dsb);hold on; plot(t,mt,'r--'); title('DSB信号');xlabel('t'); %DSB解调 rt=s_dsb.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt); [t,rt]=lpf(f,rf,2*fm); subplot(324) plot(t,rt);hold on; plot(t,mt/2,'r--'); title('DSB解调信号');xlabel('t'); %SSB调制 s_ssb=real(hilbert(mt).*exp(j*2*pi*fc*t)); B=fm; s_ssb=s_ssb; subplot(325) plot(t,s_ssb); title('SSB信号');xlabel('t'); %SSB解调 rt=s_ssb.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt); [t,rt]=lpf(f,rf,2*fm); subplot(326) plot(t,rt);hold on; plot(t,mt/2,'r--'); title('SSB解调信号');xlabel('t'); 编程后输出图形如下:(在没有noise影响的情况)
在有noise影响的情况编程如下: %信源
close all; clear all; dt=0.001; fm=1; fc=10; t=0:dt:5;
mt=cos(pi*t).*cos(2*pi*fm*t); N0=0.1;
%幅度AM调制 A=2;
s_am=(A+mt).*cos(2*pi*fc*t); B=2*fm; figure(1) subplot(321)
plot(t,s_am);hold on; plot(t,A+mt,'r--'); %AM解调
rt=s_am.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm);
title('AM信号');xlabel('t'); subplot(322)
plot(t,rt);hold on; plot(t,mt/2,'r--');
title('AM解调信号');xlabel('t');
%SSB调制
s_ssb=real(hilbert(mt).*exp(j*2*pi*fc*t)); B=fm;
s_ssb=s_ssb; subplot(325) plot(t,s_ssb);
title('SSB信号');xlabel('t'); %SSB解调
rt=s_ssb.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm); subplot(326)
plot(t,rt);hold on; plot(t,mt/2,'r--');
title('SSB解调信号');xlabel('t');
function[out]=noise_nb(fc,B,N0,t) dt=t(2)-t(1); Fmx=1/dt;
n_len=length(t); p=N0*Fmx;
rn=sart(p)*randn(1,n_len); [f,rf]=fft(r,rn);
[t,out]=bpf(f,rf,fc-B/2,fc+B/2); 输出波形如下:(在有noise影响的情况)
综合比较在有噪声干扰和没有噪声干扰的图形,可以看出两者输出差不多,没有影响实验结果,所以可行。
图(A)
图(B)
因篇幅问题不能全部显示,请点此查看更多更全内容