当前位置:文档之家› 基于某matlab载波同步仿真

基于某matlab载波同步仿真

基于某matlab载波同步仿真
基于某matlab载波同步仿真

通信系统综合设计与实践

题目基于matlab载波同步仿真

院(系)名称信息工程学院通信系

专业名称通信工程

学生鸿飞曹优宁封蒙蒙

学生学号12031000221203100010

1203100040

指导教师

2013年 6 月 2 日

基于matlab载波同步仿真

摘要

从载波相位调制解调原理出发,理论分析了载波频率漂移对解调结果的影响.通过对解调公式的推导及分析,给出了频率漂移对解调结果影响的公式.结果表明,当混频基频信号的频率与载波频率存在微小频差时,解调结果将出现低频调制,严重影响解调效果;仿真及实验验证结果与理论分析完全吻合.

关键词:载波相位调制解调

目录

摘要 ................................................................................................................................. I 第一章概述. (1)

一课题容 (1)

二设计目的.. (1)

三设计要求 (1)

四开发工具 (1)

第二章系统理论设计 (2)

一振幅调制产生原理 (2)

二调幅电路方案分析 (2)

三信号解调思路 (3)

第三章matlab仿真 (5)

一载波信号与调制信号分析 (5)

二设计FIR数字低通滤波器 (7)

三AM解调 (9)

四结果分析 (15)

4心得体会 (15)

5致谢 (16)

6参考文献 (16)

第一章概述

一课题容

1.设计AM信号实现的Matlab程序,输出调制信号、载波信号以及已调信号波形以及频谱图,并改变参数观察信号变化情况,进行实验分析。

2.设计AM信号解调实现的Matlab程序,输出并观察解调信号波形,分析实验现象。

二设计目的

1.掌握振幅调制和解调原理。

2.学会Matlab仿真软件在振幅调制和解调中的应用。

3.掌握参数设置方法和性能分析方法。

4.通过实验中波形的变换,学会分析实验现象。

三设计要求

利用Matlab软件进行振幅调制和解调程序设计,输出显示调制信号、载波信号以及已调信号波形,并输出显示三种信号频谱图。对产生波形进行分析,并通过参数的改变,观察波形变化,分析实验现象。

四开发工具

计算机、Matlab软件、相关资料

第二章 系统理论设计

一 振幅调制产生原理

所谓调制,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。这里高频振荡波就是携带信号的运载工具,也叫载波。振幅调制,就是由调制信号去控制高频载波的振幅,直至随调制信号做线性变化。全调幅或常规调幅,简称为调幅(AM )。在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调制信号波形呈线性关系。

设正弦载波为 )cos()(0?ω+=t A t c c

式中,A 为载波幅度;c ω为载波角频率;0?为载波初始相位(通常假设0?

=0). 调制信号(基带信号)为)(t m 。根据调制的定义,振幅调制信号(已调信号) 一般可以表示为 )cos()()(t t Am t s c m ω=

设调制信号)(t m 的频谱为)(ωM ,则已调信号)(t s m 的频谱)(ωm S :

)]()([2

)(c c m M M A

S ωωωωω-++=

二 调幅电路方案分析

标准调幅波(AM )产生原理 :调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,可也以是数字的。为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。

设载波信号的表达式为t c ωcos ,调制信号的表达式为

t A t m m m ωcos )(= ,则调幅信号的表达式为t t m A t s

c AM ωcos )]([)(0+=

图5.1 标准调幅波示意图 三 信号解调思路

从高频已调信号中恢复出调制信号的过程称为解调,又称为检波。对于振幅调制信号,解调就是从它的幅度变化上提取调制信号的过程。解调是调制的逆过程。可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。

第三章matlab仿真

一载波信号与调制信号分析

t=-1:0.00001:1;

A0=10; %载波信号振幅

f=6000; %载波信号频率

w0=f*pi;

Uc=A0*cos(w0*t); %载波信号

figure(1);

subplot(2,1,1);

plot(t,Uc);

title('载频信号波形');

axis([0,0.01,-15,15]);

subplot(2,1,2);

Y1=fft(Uc); %对载波信号进行傅里叶变换

plot(abs(Y1));title('载波信号频谱');

axis([5800,6200,0,1000000]);

载频信号波形

00.0010.0020.0030.0040.0050.0060.0070.0080.0090.01

5载波信号频谱

580058505900595060006050610061506200

图6.1载波信号

% ======================调制信号==============================

t=-1:0.00001:1;

A1=5; %调制信号振幅

f=6000; %载波信号频率

w0=f*pi;

mes=A1*cos(0.001*w0*t); %调制信号

subplot(2,1,1);

plot(t,mes);

xlabel('t'),title('调制信号');

subplot(2,1,2);

Y2=fft(mes); % 对调制信号进行傅里叶变换

plot(abs(Y2));

title('调制信号频谱');

axis([198000,202000,0,1000000]);

调制信

t

5调制信号频谱

如图6.2调制信号

% =======================AM已调信号=========================

t=-1:0.00001:1;

A0=10; %载波信号振幅

A1=5; %调制信号振幅

A2=3; %已调信号振幅

f=3000; %载波信号频率

w0=2*f*pi;

m=0.15; %调制度

mes=A1*cos(0.001*w0*t); %消调制信号

Uam=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号

subplot(2,1,1);

plot(t,Uam);

grid on;

title('AM调制信号波形');

subplot(2,1,2);

Y3=fft(Uam); % 对AM已调信号进行傅里叶变换plot(abs(Y3)),grid;

title('AM调制信号频谱');

axis([5950,6050,0,500000]);

AM调制信号波形

-1-0.8-0.6-0.4-0.200.20.40.60.81 5AM调制信号频谱

如图6.3AM已调信号

二设计FIR数字低通滤波器

FIR滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样法和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR滤波器。

对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将其转换策划那个所需的数字滤波器。具体设计步骤如下:

(1)确定所需类型数字滤波器的技术指标。

(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为Ω=2/T tan(0.5ω)

(3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。

(4)设计模拟低通滤波器。

(5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。

(6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。

我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。为了克服之一缺点,可以采用双线性变换法。

下面我们介绍用窗函数法设计FIR滤波器的步骤。如下:(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。

(2)构造希望逼近的频率响应函数。

(3)计算h(n).。

(4)加窗得到设计结果。

低通滤波器的性能指标:通带边界频率fp=300Hz,阻带截止频率fc=320Hz,阻带最小衰减As=100db , 通带最大衰减Ap=1dB

在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。hn=fir1(M,wc,window),可以指定窗函数向量window。如果缺省window 参数,则fir1默认为哈明窗。其中可选的窗函数有Rectangular Barlrtt Hamming Hann Blackman窗,其相应的都有实现函数。

MATLAB信号处理工具箱函数buttp buttor butter是巴特沃斯滤波器设计函数,其有5种调用格式,本课程设计中用到的是[N,wc]=butter(N,wc,Rp,As,’s’),该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc。

MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下:

[B,A]=cheby1(N,Rp,wpo,’ftypr’)

[B,A]=cheby1(N,Rp,wpo,’ftypr’,’s’)

函数butter,cheby1和ellip设计IIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。下面我们将给出FIR数字滤波器的主要程序。

%=========================FIR低通滤波器=======================

Ft=2000; %采样频率

fpts=[100 120]; %通带边界频率fp=100Hz,阻带截止频率fs=120Hz

mag=[1 0];

dev=[0.01 0.05]; %通带波动1%,阻带波动5%

[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev,Ft);%kaiserord估计采用凯塞窗设计

的FIR滤波器的参数

b21=fir1(n21,wn21,Kaiser(n21+1,beta)); %由fir1设计滤波器

[h,w]=freqz(b21,1); %得到频率响应

plot(w/pi,abs(h));

grid on

title('FIR低通滤波器');

FIR低通滤波器

如图6.6 FIR低通滤波器

三AM解调

t=-1:0.00001:1;

A0=10; %载波信号振幅

A1=5; %调制信号振幅

A2=3; %已调信号振幅

f=3000; %载波信号频率

w0=2*f*pi;

m=0.15; %调制度

k=0.5 ; %DSB 前面的系数

mes=A1*cos(0.001*w0*t); %调制信号

Uam=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号Dam=Uam.*cos(w0*t); %对AM调制信号进行解调

subplot(2,1,1);

plot(t,Dam);

grid on;

title('滤波前AM解调信号波形');

subplot(2,1,2);

Y5=fft(Dam); % 对AM解调信号进行傅里叶变换

plot(abs(Y5)),grid;

title('滤波前AM解调信号频谱');

axis([187960,188040,0,200000]);

滤波前AM解调信号波

5滤波前AM解调信号频谱

如图6.7 AM解调信号

%=======================AM解调信号FIR滤波=================

t=-1:0.00001:1;

A0=10; %载波信号振幅

A1=5; %调制信号振幅

A2=3; %已调信号振幅

f=6000; %载波信号频率

w0=f*pi;

m=0.15; %调制度

Uc=A0.*cos(w0*t); %载波信号subplot(5,2,1);

plot(t,Uc);

title('载波信号');

axis([0,0.01,-15,15]);

T1=fft(Uc); %傅里叶变换subplot(5,2,2);

plot(abs(T1));

title('载波信号频谱');

axis([5800,6200,0,1000000]);

mes=A1*cos(0.001*w0*t); %调制信号subplot(5,2,3);

plot(t,mes);

title('调制信号');

T2=fft(mes);

subplot(5,2,4);

plot(abs(T2));

title('调制信号频谱');

axis([198000,202000,0,2000000]);

Uam=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号

subplot(5,2,5);

plot(t,Uam);

title('已调信号');

T3=fft(Uam);

subplot(5,2,6);

plot(abs(T3));

title('已调信号频谱');

axis([5950,6050,0,500000]);

Dam=Uam.*cos(w0*t); %对AM已调信号进行解调subplot(5,2,7);

plot(t,Dam);

title('滤波前的AM解调信号波形');

T4=fft(Dam); %求AM信号的频谱

subplot(5,2,8);

plot(abs(T4));

title('滤波前的AM解调信号频谱');

axis([187960,188040,0,200000]);

z21=fftfilt(b21,Dam); %FIR低通滤波subplot(5,2,9);

plot(t,z21,'r');

title('滤波后的AM解调信号波形');

T5=fft(z21); %求AM信号的频谱subplot(5,2,10);

plot(abs(T5),'r');

title('滤波后的AM解调信号频谱');

axis([198000,202000,0,200000]);

00.0010.0020.0030.0040.0050.0060.0070.0080.0090.01

载波信号

580058505900595060006050610061506200

5

载波信号频谱

-1-0.8-0.6-0.4-0.2

00.2

0.4

0.6

0.8

1

调制信号

x 10

5

6

调制信号频谱

-1-0.8-0.6-0.4

-0.2

0.2

0.4

0.6

0.8

1

已调信号

59505960

5970598059906000601060206030604060505

已调信号频谱

滤波前的AM

解调信号波形

x 10

5

5

滤波前的AM

解调信号频谱

滤波后的AM

解调信号波形

x 10

5

5

滤波后的AM 解调信号频谱

如图6.9 AM 解调信号FIR 低通滤波

%=======================AM 解调信号FIR 滤波======加噪==========

t=-1:0.00001:1; A0=10; %载波信号振幅 A1=5; %调制信号振幅

A2=3; %已调信号振幅

f=6000; %载波信号频率

w0=f*pi;

m=0.15; %调制度

Uc=A0.*cos(w0*t); %载波信号subplot(5,2,1);

plot(t,Uc);

title('载波信号');

axis([0,0.01,-15,15]);

T1=fft(Uc); %傅里叶变换subplot(5,2,2);

plot(abs(T1));

title('载波信号频谱');

axis([5800,6200,0,1000000]);

mes=A1*cos(0.001*w0*t); %调制信号subplot(5,2,3);

plot(t,mes);

title('调制信号');

T2=fft(mes);

subplot(5,2,4);

plot(abs(T2));

title('调制信号频谱');

axis([198000,202000,0,2000000]);

Uam1=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号subplot(5,2,5);

plot(t,Uam1);

title('已调信号');

T3=fft(Uam1);

subplot(5,2,6);

plot(abs(T3));

title('已调信号频谱');

axis([5950,6050,0,500000]);

sn1=20; %信噪比

db1=A1^2/(2*(10^(sn1/10))); %计算对应噪声方差

n1=sqrt(db1)*randn(size(t)); %生成高斯白噪声

Uam=n1+Uam1;

Dam=Uam.*cos(w0*t); %对AM已调信号进行解调

相关主题
文本预览
相关文档 最新文档