文档库 最新最全的文档下载
当前位置:文档库 › 基于MATLAB仿真的数字信号调制的性能比较和分析

基于MATLAB仿真的数字信号调制的性能比较和分析

基于MATLAB仿真的数字信号调制的性能比较和分析
基于MATLAB仿真的数字信号调制的性能比较和分析

2ASK、2FSK、2PSK数字调制系统的

Matlab实现及性能分析比较

指导教师:

班级:

学号:

姓名:

引言:数字信号有两种传输方式,分别是基带传输方式和调制传输方式,即带通,在实际应用中,因基带信号含有大量低频分量不利于传送,所以必须经过载波和调制形成带通信号,通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化,这这一过程即为数字调制。数字调制为信号长距离高效传输提供保障,现已广泛应用于生活和生产中。另外根据控制载波参量方式的不同,数字调制主要有调幅(ASK ),调频(FSK),调相(PSK) 三种基本形式。本次课题针对于二进制的2ASK 、2FSK 、2PSK 进行讨论,应用Matlab 矩阵实验室进行仿真,分析和修改,通过仿真系统生成一个人机交互界面,以利于仿真系统的操作。通过对系统的仿真,更加直观的了解数字调制系统的性能及影响其性能的各种因素,以便于比较,评论和改进。

关键词: 数字,载波,调制,2ASK ,2FSK ,2PSK ,Matlab ,仿真,性能,比较,分析

正文:

一 .数字调制与解调原理

1.1 2ASK

(1)2ASK

2ASK 就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。

表达式为:

???===0

01,cos )(2k k c ASK a a t A t s 当,

当ω

1.2 2FSK

2FSK可以看做是2个不同频率的2ASK的叠加,其调制与解调方法与2ASK差不多,主要频率F1和F2,不同的组合产生所要求的2FSK调制信号。

公式如下:

?

?

?

=

=

=

cos

1

,

cos

)(

2

1

2

k

k FSK a

t

A

a

t

A

t

s

ω

ω

1.3 2PSK

2PSK以载波的相位变化为基准,载波的相位随数字基带序列信号的1或者0而改变,通常用已经调制完的载波的0或者π表示数据1或者0,每种相位与之一一对应。

二.数字调制技术的仿真实现

本课程设计需要借助MATLAB的M文件编程功能,对2ASK.2PSK.2FSK进行调制与解调的设计,并绘制出调制与解调后的波形,误码率的情况分析,软件仿真可在已有平台上实现。

1.2ASK代码主函数

close all

clear all

n=16;

fc=1000000; bitRate=1000000;

N=50;

%noise=ti;

noise=10;

signal=source(n,N); %生成二进制代码

transmittedSignal=askModu(signal,bitRate,fc,N);%调制后信号

signal1=gussian(transmittedSignal,noise);%加噪声

configueSignal=demoASK(signal1,bitRate,fc,n,N);

source代码

function sendSignal=source(n,N)

sendSignal=randint(1,n)

bit=[];

for i=1:length(sendSignal)

if sendSignal(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bit=[bit,bit1];

end

figure(1)

plot(1:length(bit),bit),title('transmitting of binary'),grid on;

axis([0,N*length(sendSignal),-2,2]);

end

askModu代码

function transmittedSignal=askModu(signal,bitRate,fc,N)%signal为输入信

号,bitrate为bit速率,fc调制信号频率,N %signal=[0 0 1 0 1 1 0 1];

% bitRate=1000000;

% fc=1000000;

% N=32; t=linspace(0,1/bitRate,N);

c=sin(2*pi*t*fc);

transmittedSignal=[];

for i=1:length(signal)

transmittedSignal=[transmittedSignal,signal(i)*c];

end

figure(2) %画调制图

plot(1:length(transmittedSignal),transmittedSignal);title('Modulation of ASK');grid on;

figure(3)%画频谱实部

m=0:length(transmittedSignal)-1;

F=fft(transmittedSignal);

plot(m,abs(real(F))),title('ASK_frequency-domain analysis real');

grid on;

%figure(4)画频谱虚部

%plot(m,imag(F));title('ASK_frequency-domain analysis imag');

%grid on;

end

CheckRatePe代码

function PeWrong=CheckRatePe(signal1,signal2,s)

rights=0;

wrongs=0;

for ki=1:s-2

if(signal1(ki)==signal2(ki))

rights=rights+1;

else

wrongs=wrongs+1;

end

end

PeWrong=wrongs/(wrongs+rights);

end

demoASK代码

function bitstream=demoASK(receivedSignal,bitRate,fc,n,N)

load num

signal1=receivedSignal;

signal2=abs(signal1); %??á÷

signal3=filter(num1,1,signal2); %LPF,°ü???ì2¨

IN=fix(length(num1)/2); %?ó3ùê±??

bitstream=[];

LL=fc/bitRate*N;

i=IN+LL/2;

while (i<=length(signal3)) %?D??

bitstream=[bitstream,signal3(i)>=0.5];

i=i+LL;

end

figure(6)

subplot(3,1,1); %接收波形

plot(1:length(signal1),signal1);title('Wave of receiving

terminal(including noise)');grid on;

subplot(3,1,2);%接收整流后波形

plot(1:length(signal2),signal2);title('Wave of commutate');grid on; subplot(3,1,3);%包络检波波形

plot(1:length(signal3),signal3);title('Wave of LPF');grid on;

bit=[];

for i=1:length(bitstream)

if bitstream(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bit=[bit,bit1];

end

figure(7)%解调后的二进制波形

plot(bit),title('binary of receiving terminal'),grid on;

axis([0,N*length(bitstream),-2.5,2.5]);

end

gussian代码%加高斯白噪声

function signal=gussian(transmittedSignal,noise)

signal=sqrt(2)*transmittedSignal;

signal=awgn(signal,noise);

figure(5)

plot(1:length(signal),signal);

title('Wave including noise'),grid on;

end

fsk主函数代码

close all

clear all

n=16;%二进制代码长度

f1=18000000;%频率1

f2=6000000;%频率2

bitRate=1000000;%bit速率

N=50;%码元宽度

%noise=ti;

noise=10;%家性噪声大小

signal=source(n,N);%产生二进制代码

transmittedSignal=fskModu(signal,bitRate,f1,f2,N);%调制

signal1=gussian(transmittedSignal,noise);%加噪声

configueSignal=demoFSK(signal1,bitRate,f1,f2,N);%解调

source代码%二进制信号产生函数

function sendSignal=source(n,N)

sendSignal=randint(1,n)

bit=[];

for i=1:length(sendSignal)

if sendSignal(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bit=[bit,bit1];

end

figure(1)

plot(bit),title('transmitting of binary'),grid on;

axis([0,N*length(sendSignal),-2.5,2.5]);

end

fskModu代码%频率调制函数

function transmittedSignal=fskModu(signal,bitRate,f1,f2,N)

t=linspace(0,1/bitRate,N);

c1=sin(2*pi*t*f1);%调制信号1

c2=sin(2*pi*t*f2);%调制信号2

transmittedSignal=[];

for i=1:length(signal)%调制

if signal(i)==1

transmittedSignal=[transmittedSignal,c1];

else

transmittedSignal=[transmittedSignal,c2];

end

end

figure(2) %画调制后波形图

plot(1:length(transmittedSignal),transmittedSignal);title('Modulation of FSK');grid on;

figure(3) %画调制后频谱图

m=0:length(transmittedSignal)-1;

F=fft(transmittedSignal);

plot(m,abs(real(F))),title('ASK_frequency-domain analysis real');

grid on;

end

demoFSK代码

function bitstream=demoFSK(receivedSignal,bitRate,f1,f2,N)

load num

signal1=receivedSignal;

signal2=filter(gaotong,1,signal1); %通过HPF,得到高通分量

signal3=abs(signal2); %整流

signal3=filter(lowpass,1,signal3); %通过低通,形成包络

bitstream=[];

IN1=fix(length(lowpass)/2)+fix(length(gaotong)/2); %延迟时间

bitstream1=[];

LL=N; %每个bit的抽样点数

i=IN1 +LL/2;

while (i<=length(signal3)) %判决

bitstream1=[bitstream1,signal3(i)>=0.5];

i=i+LL;

end

bitstream1

figure(5)

subplot(3,1,1);

plot(1:length(signal1),signal1);title('Wave of receiving

terminal(including noise)');grid on;

subplot(3,1,2);

plot(1:length(signal2),signal2);title('After Passing HPF');grid on; subplot(3,1,3);

plot(1:length(signal3),signal3);title('After Passing LPF');grid on;

signal4=filter(daitong,1,signal1); %通过BPF得到低频分量

signal5=abs(signal4); %整流

signal5=filter(lowpass,1,signal5); %通过LPF,形成包络

IN2=fix(length(lowpass)/2)+fix(length(daitong)/2); %延迟时间 bitstream2=[];

LL=N; %每个bit的的抽样点数

i=IN2 +LL/2;

while (i<=length(signal5)) %判决

bitstream2=[bitstream2,signal5(i)>=0.5];

i=i+LL;

bitstream2

figure(6)

subplot(3,1,1);

plot(1:length(signal1),signal1);title('Wave of receiving

terminal(including noise)');grid on;

subplot(3,1,2);

plot(1:length(signal4),signal4);title('After Passing BPF');grid on; subplot(3,1,3);

plot(1:length(signal5),signal5);title('After Passing LPF');grid on;

for i=1:min(length(bitstream1),length(bitstream2)) %判决if(bitstream1(i)>bitstream2(i))

bitstream(i)=1;

else

bitstream(i)=0;

end

end

bitstream

bit=[]; %接收端波形

for i=1:length(bitstream)

if bitstream(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bit=[bit,bit1];

end

figure(7)

plot(bit),title('binary of receiving terminal'),grid on;

axis([0,N*length(bitstream),-2.5,2.5]);

end

CheckRatePe代码

function PeWrong=CheckRatePe(signal1,signal2,s)

rights=0;

wrongs=0;

for ki=1:s-2

if(signal1(ki)==signal2(ki))

rights=rights+1;

else

wrongs=wrongs+1;

end

PeWrong=wrongs/(wrongs+rights);

end

gussian代码

function signal=gussian(transmittedSignal,noise)

signal=sqrt(2)*transmittedSignal;

signal=awgn(signal,noise);

figure(4)

plot(1:length(signal),signal),title('Adding Noise');

grid on;

end

2psk主函数代码

close all

clear all

n=16;%二进制码长

fc=1000000;%载波频率

bitRate=1000000;信息频率

N=50;%码宽

noise=10;%信道加性噪声大小

signal=source(n,N);生成二进制代码

transmittedSignal=bpskModu(signal,bitRate,fc,N);对信号进行调制并进行频谱分析

signal1=gussian(transmittedSignal,noise)%加信道噪声

configueSignal=demoBPSK(signal1,bitRate,fc,n,N);%信号解调

source代码

function sendSignal=source(n,N)

sendSignal=randint(1,n)

bit=[];

for i=1:length(sendSignal)

if sendSignal(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bit=[bit,bit1];

end

figure(1)

plot(bit),title('transmitting of binary'),grid on;

axis([0,N*length(sendSignal),-2.5,2.5]);

end

bpskModu代码

function transmittedSignal=bpskModu(signal,bitRate,fc,N)

t=linspace(0,1/bitRate,N);

c1=sin(2*pi*t*fc);

c2=sin(2*pi*t*fc + pi);

transmittedSignal=[];

for i=1:length(signal)

if signal(i)==1

transmittedSignal=[transmittedSignal,c1];

else

transmittedSignal=[transmittedSignal,c2];

end

end

figure(2) % 画调制图

plot(1:length(transmittedSignal),transmittedSignal);title('Modulation of BPSK');grid on;

figure(3)%画频谱图

m=0:length(transmittedSignal)-1;

F=fft(transmittedSignal);

plot(m,abs(real(F))),title('BPSK_frequency-domain analysis real');

grid on;

end

CheckRatePe代码

function PeWrong=CheckRatePe(signal1,signal2,s)

rights=0;

wrongs=0;

for ki=1:s-2

if(signal1(ki)==signal2(ki))

rights=rights+1;

else

wrongs=wrongs+1;

end

end

PeWrong=wrongs/(wrongs+rights);

end

demoBPSK代码

function bitstream=demoBPSK(receivedSignal,bitRate,fc,n,N)

load num%读取num存储的低通滤波用的数据

signal1=receivedSignal;

t=linspace(0,1/bitRate,N);

c=sin(2*pi*t*fc);

signal=[];

for i=1:n

signal=[signal,c];

end

signal2=signal1.*signal; %乘同频同相sin

signal3=filter(num1,1,signal2); %LPF,包络检波3

IN=fix(length(num1)/2); %?延迟时间

bitstream=[];

LL=fc/bitRate*N;

i=IN+LL/2;

while (i<=length(signal3)) %判决

bitstream=[bitstream,signal3(i)>=0];

i=i+LL;

end

figure(5)

subplot(3,1,1);%画接收的包含噪声的波形

plot(1:length(signal1),signal1);title('Wave of receiving terminal(including noise)');grid on;

subplot(3,1,2);%相干解调波形

plot(1:length(signal2),signal2);title('After Multipling sin Fuction');grid on;

subplot(3,1,3);%包络检波波形

plot(1:length(signal3),signal3);title('Wave of LPF');grid on;

bit=[];

for i=1:length(bitstream)

if bitstream(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bit=[bit,bit1];

end

figure(6)二进制接收信号波形

plot(bit);title('binary of receiving terminal');grid on;

axis([0,N*length(bitstream),-2.5,2.5]);

end

gussian代码

function signal=gussian(transmittedSignal,noise)

signal=sqrt(2)*transmittedSignal;

signal=awgn(signal,noise);

figure(4)

plot(1:length(signal),signal),grid on;

title('Adding noise')

end

三种调制方式的性能比较:

load PeRate;

load PeRatep;

%补偿误差

fpeask(15)=1e-3;

fpefsk(9)=1e-3;

fpepsk(24)=0.002;

fpepsk(26)=1e-3;

figure(1)

semilogy(-6:length(fpeask)-7,fpeask,-6:length(fpefsk)-7,fpefsk,-30:le ngth(fpepsk)-31,fpepsk),grid on;

title('Analysis Of Bit Error Rate');

legend('ASK','FSK','PSK');

xlabel('r/dB');

ylabel('Pe');

figure(2)

semilogy(-6:length(fpefsk)-7,fpeask);grid on;

title('Bit Error Rate Of ASK');

xlabel('r/dB');

ylabel('PeASK');

figure(3)

semilogy(-6:length(fpefsk)-7,fpefsk);grid on;

title('Bit Error Rate Of FSK');

xlabel('r/dB');

ylabel('PeFSK');

figure(4)

semilogy(-16:length(fpepsk)-17,fpepsk);grid on;

title('Bit Error Rate Of PSK');

axis([-16,10,1e-3,1]);

xlabel('r/dB');

ylabel('PePSK');

三.程序与调制解调波形3.1 2ASK波形

1随机信号产生

2ASK信号调制

3信号噪声附加

4接受信号解调

5解调出的基带信号

3.2.FSK

1随机信号产生

2FSK信号调制

3信号噪声附加4接受信号解调

5解调出的基带信号

3.3PSK

1.随机信号产生

2.FSK信号调制

3信号噪声附加

基于Matlab的FM仿真实现

摘要 本次设计主要是以Matlab为基础平台,对FM信号进行仿真。介绍了FM信号,及其调制和解调的基本原理,并设计M文件,分析在混入噪声环境下的波形失真,以及分析FM的抗噪声性能。本设计的主要目的是对Matlab的熟悉和对模拟通信理论的更深化理解。 关键词:Matlab;FM;噪声

前言 (2) 1 设计基础 (3) 1.1 Matlab及M文件的简介 (3) 1.2模拟调制概述 (4) 1.2.1模拟调制系统各个环节分析 (5) 1.2.2 模拟调制的意义 (6) 2 FM基本原理与实现 (7) 2.1 FM的基本原理 (7) 2.1.1调制 (7) 2.1.2解调 (8) 2.2 FM的实现 (8) 2.2.1 FM调制的实现 (8) 2.2.2 FM解调的实现 (9) 2.3 调频系统的抗噪声性能 (10) 2.3.1 高斯白噪声信道特性 (10) 3 FM的仿真实现与分析 (14) 3.1 未加噪声的FM解调实现 (14) 3.2 叠加噪声时的 FM解调 (16) 总结 (20) 致谢 (21) 参考文献 (22) 附录 (23)

通信按照传统的理解就是信息的传输。在当今高度信息化的社会,信息和通信已成为现代社会的命脉。信息作为一种资源,只有通过广泛传播与交流,才能产生利用价值,促进社会成员之间的合作,推动社会生产力的发展,创造出巨大的经济效益。而通信作为传输信息的手段或方式,与传感技术、计算机技术相融合,已成为21世纪国际社会和世界经济发展的强大动力。可以预见,未来的通信对人们的生活方式和社会的发展将会产生更加重大和意义深远的影响。 在通信系统中,从消息变换过来的原始信号所占的有效频带往往具有频率较低的频谱分量(例如语音信号),如果将这种信号直接在信道中进行传输,则会严重影响信息传送的有效性和可靠性,因此这种信号在许多信道中均是不适宜直接进行传输的。在通信系统的发射端通常需要有调制过程,将调制信号的频谱搬移到所希望的位置上,使之转换成适于信道传输或便于信道多路复用的已调信号;而在接收端则需要有解调过程,以恢复原来有用的信号。调制解调方式常常决定了一个通信系统的性能。随着数字化波形测量技术和计算机技术的发展,可以使用数字化方法实现调制与解调过程。 调制在通信系统中具有重要的作用。通过调制,不仅可以进行频谱搬移,把调制信号的频谱搬移到所希望的位置上,从而将调制信号转换成适合于信道传输或便于信道多路复用的已调信号,而且它对系统的传输有效性和传输可靠性有着很大的影响。调制方式往往决定了一个通信系统的性能。调制技术是指把基带信号变换成传输信号的技术。基带信号是原始的电信号,一般是指基本的信号波形,在数字通信中则指相应的电脉冲。在无线遥测遥控系统和无线电技术中调制就是用基带信号控制高频载波的参数(振幅、频率和相位),使这些参数随基带信号变化。用来控制高频载波参数的基带信号称为调制信号。未调制的高频电振荡称为载波(可以是正弦波,也可以是非正弦波,如方波、脉冲序列等)。被调制信号调制过的高频电振荡称为已调波或已调信号。已调信号通过信道传送到接收端,在接收端经解调后恢复成原始基带信号。

数字信号处理的MATLAB实现

昆明理工大学信息工程与自动化学院学生实验报告 (2011—2012 学年第二学期) 课程名称:数字信号处理开课实验室:信自楼111 2012 年 5 月 31 日年级、专业、班生医学号姓 名 成绩 实验项目名称数字信号处理的matlab 实现指导教师 教 师 评语教师签名: 年月日 一.实验目的 熟练掌握matlab的基本操作。 了解数字信号处理的MATLAB实现。 二.实验设备 安装有matlab的PC机一台。 三.实验内容 .1.求信号x(n)=cos(6.3Пn/3)+cos(9.7Пn/30)+cos(15.3Пn/30),0≤n≤29的幅度频谱. 2. 用冲击响应不变法设计一个Butterworth低通数字滤波器,要求参数为: Wp=0.2Пαp=1dB Ws=0.3Пαs=15dB 3.用双线性变换法设计一个Chebyshev高通IIR滤波器,要求参数为: Wp=0.6Пαp=1dB Ws=0.4586Пαs=15dB 4.用窗函数法设计一个低通FIR滤波器,要求参数为: Wp=0.2Пαp=0.3dB Ws=0.25Пαs=50dB 5.用频率抽样法设计一个带通FIR滤波器,要求参数为: W1s=0.2П W1p=0.35П W2p=0.65П W2s=0.8П αs=60dB αp=1dB 6.根据 4 点矩形序列,( n ) = [1 1 1 1] 。做 DTFT 变换,再做 4 点 DFT 变换。然后分别补零做 8 点 DFT 及 16 点 DFT。 7.调用filter解差分方程,由系统对u(n)的响应判断稳定性 8编制程序求解下列系统的单位冲激响应和阶跃响应。 y[n]+ 0.75y[n -1]+ 0.125y[n -2] = x[n]- x[n -1] 四.实验源程序 1. n=[0:1:29]; x=cos(6.3*pi*n/30)+cos(9.7*pi*n/30)+cos(15.3*pi*n/30);

基于MATLAB的模拟线性调制

基于MATLAB 的模拟调制实验报告 一、实验目的 1.进一步学习调制的知识,掌握调频与调角两种模拟调制技术。 2.进一步学习MATLAB 的编程,熟练使用MATLAB 进行作图。 二、实验原理 1.调制的概念 调制(modulation )就是对信号源的信息进行处理加到载波上,使其变为适 合 于信道传输的形式的过程,是使载波随信号而改变的技术。 一般,用来传送消息的信号()t u c 叫作载波或受调信号,代表所欲传送消息的信 号叫作调制信号,调制后的信号()t u 叫作已调信号。用调制信号()t u Ω控制载波的某些参数,使之随()t u Ω而变化,就可实现调制。 2.调制的目的 频谱变换 当所要传送的信号的频率或者太低,或者频带很宽,对直接采用电磁波的形 式进行发送很不利,需要的天线尺寸很大,而且发射和接受短的天线与谐振回路的参数变化范围很大。为了信息有效与可靠传输,往往需要将低频信号的基带频谱搬移到适当的或指定的频段。这样可以提高传输性能,以较小的发送功率与较短的天线来辐射电磁波。 实现信道复用 为了使多个用户的信号共同利用同一个有较大带宽的信道,可以采用各种复用技术。如模拟电话长途传输是通过利用不同频率的载波进行调制。将各用户话音每隔4 kHz 搬移到高频段进行传输。 提高抗干扰能力 不同的调制方式,在提高传输的有效性和可靠性方面各有优势。如调频广播系统,它采用的频率调制技术,付出多倍带宽的代价,由于抗干扰性能强,其音质比只占10 kHz 带宽的调幅广播要好得多。扩频通信就是以大大扩展信号传输带宽,以达到有效抗拒外部干扰和短波信道多径衰落的特殊调制方式。 3.调制的种类 根据()t u Ω和()t u c 的不同类型和完成调制功能的调制器传递函数不同,调制分为以下多种方式: (1).按调制信号()t u Ω的类型分为: ● 模拟调制:调制信号()t u Ω是连续变化的模拟量,如话音与图像信号。 ● 数字调制:调制信号是数字化编码符号或脉冲编码波形。 (2).按载波信号()t u c 的类型分: ● 连续波调制:载波信号为连续波形,通常以正弦波作为载波。

数字信号处理Matlab实现实例(推荐给学生)

数字信号处理Matlab 实现实例 第1章离散时间信号与系统 例1-1 用MATLAB计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。 解 MATLAB程序如下: a=[-2 0 1 -1 3]; b=[1 2 0 -1]; c=conv(a,b); M=length(c)-1; n=0:1:M; stem(n,c); xlabel('n'); ylabel('幅度'); 图1.1给出了卷积结果的图形,求得的结果存放在数组c中为:{-2 -4 1 3 1 5 1 -3}。 例1-2 用MATLAB计算差分方程 当输入序列为时的输出结果。 解 MATLAB程序如下: N=41; a=[0.8 -0.44 0.36 0.22]; b=[1 0.7 -0.45 -0.6]; x=[1 zeros(1,N-1)];

k=0:1:N-1; y=filter(a,b,x); stem(k,y) xlabel('n');ylabel('幅度') 图 1.2 给出了该差分方程的前41个样点的输出,即该系统的单位脉冲响应。 例1-3 用MATLAB 计算例1-2差分方程 所对应的系统函数的DTFT 。 解 例1-2差分方程所对应的系统函数为: 123 123 0.80.440.360.02()10.70.450.6z z z H z z z z -------++= +-- 其DTFT 为 23230.80.440.360.02()10.70.450.6j j j j j j j e e e H e e e e ωωωω ωωω--------++= +-- 用MATLAB 计算的程序如下: k=256; num=[0.8 -0.44 0.36 0.02]; den=[1 0.7 -0.45 -0.6]; w=0:pi/k:pi; h=freqz(num,den,w); subplot(2,2,1); plot(w/pi,real(h));grid title('实部') xlabel('\omega/\pi');ylabel('幅度')

基于MATLAB的模拟调制系统仿真与测试(AM调制)

闽江学院 《通信原理设计报告》 题目:基于MATLAB的模拟调制系统仿真与测试学院:计算机科学系 专业:12通信工程 组长:曾锴(3121102220) 组员:薛兰兰(3121102236) 项施旭(3121102222) 施敏(3121102121) 杨帆(3121102106) 冯铭坚(3121102230) 叶少群(3121102203) 张浩(3121102226) 指导教师:余根坚 日期:2014年12月29日——2015年1月4日

摘要在通信技术的发展中,通信系统的仿真是一个重点技术,通过调制能够将信号转化成适用于无线信道传输的信号。 在模拟调制系统中最常用最重要的调制方式是用正弦波作为载波的幅度调制和角度调制。在幅度调制中,文中以调幅、双边带和单边带调制为研究对象,从原理等方面阐述并进行仿真分析;在角度调制中,以常用的调频和调相为研究对象,说明其调制原理,并进行仿真分析。利用MATLAB下的Simulink工具箱对模拟调制系统进行仿真,并对仿真结果进行时域及频域分析,比较各个调制方式的优缺点,从而更深入地掌握模拟调制系统的相关知识,通过研究发现调制方式的选取通常决定了一个通信系统的性能。 关键词模拟调制;仿真;Simulink 目录 第一章绪论 (1) 1.1 引言 (1) 1.2 关键技术 (1) 1.3 研究目的及意义 (2) 1.4 本文工作及内容安排 (2) 第二章模拟调制原理 (3) 2.1 幅度调制原理 (3) 2.1.1 AM调制 (4) 第三章基于Simulink的模拟调制系统仿真与分析 (6) 3.1 Simulink工具箱简介 (6) 3.2 幅度调制解调仿真与分析 (8) 3.2.1 AM调制解调仿真及分析 (8) 第四章总结 (12) 4.1 代码 (13) 4.2 总结 (14)

基于MATLAB的数字信号发生器报告

基于MATLAB的数字信号发生器设计报告 摘要:数字信号发生器是基于软硬件实现的一种波形发生仪器。在工工程实践中需要检测和分析的各种复杂信号均可分解成各简单信号之和,而这些简单信号皆可由数字信号发生器模拟产生,因此它在工程分析和实验教学有着广泛的应用。MATLAB是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令,在数字信号处理方面方便实用。本文介绍了使用MATLAB建立一个简单数字信号发生器的基本流程,并详细叙述了简单波形(正弦波、方波、三角波、锯齿波、白噪声)信号的具体实现方法。 关键字:MATLAB ,数字信号发生器 1概述 随着计算机软硬件技术的发展,越来越多现实物品的功能能够由计算机实现。信号发生器原本是模拟电子技术发展的产物,到后来的数字信号发生器也是通过硬件实现的,本文将给出通过计算机软件实现的数字信号发生器。 信号发生器是一种常用的信号源,广泛应用于电子技术实验、自控系统和科学研究等领域。传统的台式仪器如任意函数发生器等加工工艺复杂、价格高、仪器面板单调、数据存储、处理不方便。以Matlab

和LabVlEW 为代表的软件的出现,轻松地用虚拟仪器技术解决了这些问题。 Matlab 是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱(data acquisition toolbox )为实现数据的输入和输出提供了十分方便的函数和命令,利用这些函数和命令可以很容易地实现对外部物理世界的信号输出和输入。根据声卡输出信号的原理,采用Matlab 软件编程,可以方便地输出所需要的正弦波、三角波、方波等多种信号,有效地实现信号发生器的基本功能。 2 设计原理 要设计的数字信号有正弦信号、方波信号、三角波、锯齿波、白噪声、脉冲信号。其中,前五种波形都可以利用MATLAB 提供的函数实现,并根据输入的幅值、相位、频率等信息进行调整。脉冲信号由自己编写程序实现,并以定义的时间节点控制脉冲出现的时刻。 2.1 正弦信号的实现 正弦波信号的数学表达式如2.1, ()sin 2y A ft πφ=+ 2.1 其中:A 为幅值; f 为频率; φ为相位。 在MATLAB 中,相应的数字信号可以由下式2.2计算,

实验三matlab的数字调制系统仿真实验(参考)

成都理工大学实验报告 课程名称:数字通信原理 姓名:__________________学号:______________ 成绩:____ ___实验三 Matlab的数字调制系统仿真实验(参考) 1 数字调制系统的相关原理 数字调制可以分为二进制调制和多进制调制,多进制调制是二进制调制的推广,主要讨论二进制的调制与解调,简单讨论一下多进制调制中的差分相位键控调制(M-DPSK)。 最常见的二进制数字调制方式有二进制振幅键控(2-ASK)、移频键控(2-FSK)和移相键控(2-PSK 和2-DPSK)。下面是这几种调制方式的相关原理。 二进制幅度键控(2-ASK) 幅度键控可以通过乘法器和开关电路来实现。载波在数字信号1 或0 的控制下通或断,在信号为1 的状态载波接通,此时传输信道上有载波出现;在信号为0 的状态下,载波被关断,此时传输信道上无载波传送。那么在接收端我们就可以根据载波的有无还原出数字信号的1 和0。 幅移键控法(ASK)的载波幅度是随着调制信号而变化的,其最简单的形式是,载波在二进制调制信号控制下通断,此时又可称作开关键控法(OOK)。多电平MASK 调制方式是一种比较高效的传输方式,但由于它的抗噪声能力较差,尤其是抗衰落的能力不强,因而一般只适宜在恒参信道下采用。 2-ASK 信号功率谱密度的特点如下: (1)由连续谱和离散谱两部分构成;连续谱由传号的波形g(t)经线性调制后决

定,离散谱由载波分量决定; (2)已调信号的带宽是基带脉冲波形带宽的二倍。 二进制频移键控(2-FSK) 数字频率调制又称频移键控(FSK),二进制频移键控记作2FSK。数字频移键控是用载波的频率来传送数字消息,即用所传送的数字消息控制载波的频率。2FSK信号便是符号“1”对应于载频f1,而符号“0”对应于载频f2(与f1不同的另一载频)的已调波形,而且f1与f2之间的改变是瞬间完成的。 从原理上讲,数字调频可用模拟调频法来实现,也可用键控法来实现。模拟调频法是利用一个矩形脉冲序列对一个载波进行调频,是频移键控通信方式早期采用的实现方法。2FSK键控法则是利用受矩形脉冲序列控制的开关电路对两个不同的独立频率源进行选通。键控法的特点是转换速度快、波形好、稳定度高且易于实现,故应用广泛。 频移键控是利用两个不同频率f1 和f2 的振荡源来代表信号1 和0,用数字信号的1 和0 去控制两个独立的振荡源交替输出。对二进制的频移键控调制方式,其有效带宽为B=2xF+2Fb,xF 是二进制基带信号的带宽也是FSK 信号的最大频偏,由于数字信号的带宽即Fb 值大,所以二进制频移键控的信号带宽B 较大,频带利用率小。2-FSK 功率谱密度的特点如下: (1) 2FSK 信号的功率谱由连续谱和离散谱两部分构成,?离散谱出现在f1 和f2 位置; (2) 功率谱密度中的连续谱部分一般出现双峰。若两个载频之差|f1 -f2|≤fs,则出现单峰。2FSK信号的产生方法主要是两种。第一种是用二进制基带矩形脉冲信号区调制一个调频器,使其能够输出两个不同的频率的码元,如图(1);第二种方法是用以个受基带脉冲控制的开关电路去选择两个独立频率源的振荡作为输出,如图(2)。两者的区别是前者的相位是连续的,后者由于两个独立的频率源产生的两个不同频率的信号,故相邻码元的相位不一定是连续的。

数字信号处理MATLAB中FFT实现

MATLAB中FFT的使用方法 说明:以下资源来源于《数字信号处理的MATLAB实现》万永革主编 一.调用方法 X=FFT(x); X=FFT(x,N); x=IFFT(X); x=IFFT(X,N) 用MATLAB进行谱分析时注意: (1)函数FFT返回值的数据结构具有对称性。 例: N=8; n=0:N-1; xn=[43267890]; Xk=fft(xn) → Xk= 39.0000-10.7782+6.2929i0-5.0000i 4.7782-7.7071i 5.0000 4.7782+7.7071i0+5.0000i-10.7782-6.2929i Xk与xn的维数相同,共有8个元素。Xk的第一个数对应于直流分量,即频率值为0。 (2)做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分析结果。在IFFT时已经做了处理。要得到真实的振幅值的大小,只要将得到的变换后结果乘以2除以N即可。 二.FFT应用举例 例1:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。采样频率fs=100Hz,分别绘制N=128、1024点幅频图。

clf; fs=100;N=128;%采样频率和数据点数 n=0:N-1;t=n/fs;%时间序列 x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);%信号 y=fft(x,N);%对信号进行快速Fourier变换 mag=abs(y);%求得Fourier变换后的振幅 f=n*fs/N;%频率序列 subplot(2,2,1),plot(f,mag);%绘出随频率变化的振幅 xlabel('频率/Hz'); ylabel('振幅');title('N=128');grid on; subplot(2,2,2),plot(f(1:N/2),mag(1:N/2));%绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz'); ylabel('振幅');title('N=128');grid on; %对信号采样数据为1024点的处理 fs=100;N=1024;n=0:N-1;t=n/fs; x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);%信号 y=fft(x,N);%对信号进行快速Fourier变换 mag=abs(y);%求取Fourier变换的振幅 f=n*fs/N; subplot(2,2,3),plot(f,mag);%绘出随频率变化的振幅 xlabel('频率/Hz'); ylabel('振幅');title('N=1024');grid on; subplot(2,2,4) plot(f(1:N/2),mag(1:N/2));%绘出Nyquist频率之前随频率变化的振幅 xlabel('频率/Hz'); ylabel('振幅');title('N=1024');grid on; 运行结果:

基于MATLAB的模拟信号频率调制(FM)与解调分析

课程设计任务书 学生姓名:杨刚专业班级:电信1302 指导教师:工作单位:武汉理工大学 题目:信号分析处理课程设计 -基于MATLAB的模拟信号频率调制(FM)与解调分析 初始条件: 1.Matlab6.5以上版本软件; 2.先修课程:通信原理等; 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、利用MATLAB中的simulink工具箱中的模块进行模拟频率(FM)调制与解调,观 察波形变化 2、画出程序设计框图,编写程序代码,上机运行调试程序,记录实验结果(含计算结 果和图表等),并对实验结果进行分析和总结; 3、课程设计说明书按学校统一规范来撰写,具体包括: ⑴目录;⑵理论分析; ⑶程序设计;⑷程序运行结果及图表分析和总结; ⑸课程设计的心得体会(至少800字,必须手写。); ⑹参考文献(不少于5篇)。 时间安排: 周一、周二查阅资料,了解设计内容; 周三、周四程序设计,上机调试程序; 周五、整理实验结果,撰写课程设计说明书。 指导教师签名: 2013 年 7月 2 日 系主任(或责任教师)签名: 2013年 7月 2日

目录 1 Simulink简介 (1) 1.1 Matlab简介······················································错误!未定义书签。 1.2 Simulink介绍 ···················································错误!未定义书签。 2 原理分析 ·····························································错误!未定义书签。 2.1通信系统 ·························································错误!未定义书签。 2.1.1通信系统的一般模型 ···································错误!未定义书签。 2.1.2 模拟通信系统 (3) 2.2 FM调制与解调原理···········································错误!未定义书签。 3 基于Matlab方案设计 (6) 3.1 Matlab代码 (6) 3.2 Matlab仿真 (8) 4 基于Simulink方案设计 (12) 4.1 使用Simulink建模和仿真的过程 (12) 4.1.1 Simulink模块库简介 (12) 4.1.2 调制解调模块库简介 (13) 4.2 FM调制与解调电路及仿真 (14) 4.3 仿真结果分析 (17) 5 心得体会 ·····························································错误!未定义书签。 6 参考文献 (20) 本科生课程设计评定表

实验一 基于Matlab的数字信号处理基本

实验一 基于Matlab 的数字信号处理基本操作 一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离 散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容: (一) 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0() 0(0 1)(≠=?? ?=n n n δ 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1]) 程序运行结果如图1-1所示。 图1-1 单位冲激序列

基于MATLAB的2ASK、2FSK和2PSK的调制仿真

实验报告(一) 一、实验名称:基于MATLAB 的2ASK 、2FSK 和2PSK 的调制仿真 二、实验目的: (1)熟悉2ASK 、2FSK 和2PSK 的调制原理。 (2)学会运用Matlab 编写2ASK 、2FSK 和2PSK 调制程序。 (3)会画出原信号和调制信号的波形图。 (4)掌握数字通信的2ASK 、2FSK 和2PSK 的调制方式。 三、实验原理分析 3.1二进制振幅键控(2ASK ) 振幅键控是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。在2ASK 中,载波的幅度只有两种变化状态,分别对应二进制信息“0”或“1”。二进制振幅键控的表达式为: s(t) = A(t)cos(w 0+θ) 0<t ≤T 式中,w 0=2πf 0为载波的角频率;A(t)是随基带调制信号变化的时变振幅,即 A(t) = ?? ? 0A 典型波形如图所示: 2ASK 信号的产生方法通常有两种:相乘法和开关法,相应的调制器如图2。图2(a ) 就是一般的模拟幅度调制的方法,用乘法器实现;图2(b )是一种数字键控法,其中的开关电路受s(t)控制。 在接收端,2ASK 有两种基本的解调方法:非相干解调(包络检波法)和相干解调(同步检测法),相应的接收系统方框图如图:

3.2、二进制频移键控(2FSK ) 二进制频移键控信号码元的“1”和“0”分别用两个不同频率的正弦波形来传送,而其振幅和初始相位不变。故其表达式为: =)(s t ???? ?++时 "0发送“),cos(”时1发送“),cos 21(?ω?ωn n t A t A 图4 2FSK 信号时间波形 由图可见,2FSK 信号的波形(a )可以分解为波形(b )和波形(c ),也就是说,一个2FSK 信号可以看成是两个不同载频的2ASK 信号的叠加。 2FSK 信号的调制方法主要有两种。第一种是用二进制基带矩形脉冲信号去调制一个调频器,使其能够输出两个不同频率的码元。 第二种方法是用一个受基带脉冲控制的开关电路

实验一 模拟通信的MATLAB仿真

实验一 模拟通信的MATLAB 仿真 姓名:左立刚 学号:031040522 简要说明: 实验报告注意包括AM ,DSB ,SSB ,VSB ,FM 五种调制与解调方式的实验原理,程序流程图,程序运行波形图,simulink 仿真模型及波形,心得体会,最后在附录中给出了m 语言的源程序代码。 一.实验原理 1.幅度调制(AM ) 幅度调制(AM )是指用调制信号去控制高频载波的幅度,使其随调制信号呈线性变化的过程。AM 信号的数学模型如图3-1所示。 图2-1 AM 信号的数学模型 为了分析问题的方便,令 δ =0, 1.1 AM 信号的时域和频域表达式 ()t S AM =[A 0 +m ()t ]cos t c ω (2-1) ()t S AM =A 0 π[()()ωωωωδC C ++-]+()()[]ωωωωc c M M ++-2 1 (2-2)

AM 信号的带宽 2 =B AM f H (2-3) 式中, f H 为调制信号的最高频率。 2.1.3 AM 信号的功率P AM 与调制效率 η AM P AM =()222 2 t m A +=P P m c + (2-4) 式中,P C =2 A 为不携带信息的载波功率;()2 2 t m P m =为携带信息的边带 功率。 ()() t t m A m P P AM C AM 2 2 2+= = η (2-5) AM 调制的优点是可用包络检波法解调,不需要本地同步载波信号,设备简单。AM 调制的最大缺点是调制效率低。 2.2、双边带调制(DSB ) 如果将在AM 信号中载波抑制,只需在图3-1中将直流 A 0 去掉,即可输出 抑制载波双边带信号。 2.2.1 DSB 信号的时域和频域表达式 ()()t t m t c DSB S ωcos = (2-6) ()()()[]ωωωωωC C DSB M M S ++-=2 1 (2-7) DSB 信号的带宽 f B B H AM DSB 2 == (2-8)

数字信号处理MATLAB仿真

实验一 数字信号处理的Matlab 仿真 一、实验目的 1、掌握连续信号及其MA TLAB 实现方法; 2、掌握离散信号及其MA TLAB 实现方法 3、掌握离散信号的基本运算方法,以及MA TLAB 实现 4、了解离散傅里叶变换的MA TLAB 实现 5、了解IIR 数字滤波器设计 6、了解FIR 数字滤波器设计1 二、实验设备 计算机,Matlab 软件 三、实验内容 (一)、 连续信号及其MATLAB 实现 1、 单位冲击信号 ()0,0()1,0 t t t dt εεδδε-?=≠??=?>??? 例1.1:t=1/A=50时,单位脉冲序列的MA TLAB 实现程序如下: clear all; t1=-0.5:0.001:0; A=50; A1=1/A; n1=length(t1); u1=zeros(1,n1); t2=0:0.001:A1; t0=0; u2=A*stepfun(t2,t0); t3=A1:0.001:1; n3=length(t3); u3=zeros(1,n3); t=[t1 t2 t3]; u=[u1 u2 u3]; plot(t,u) axis([-0.5 1 0 A+2]) 2、 任意函数 ()()()f t f t d τδττ+∞ -∞=-? 例1.2:用MA TLAB 画出如下表达式的脉冲序列 ()0.4(2)0.8(1) 1.2() 1.5(1) 1.0(2)0.7(3)f n n n n n n n δδδδδδ=-+-+++++++

clear all; t=-2:1:3; N=length(t); x=zeros(1,N); x(1)=0.4; x(2)=0.8 x(3)=1.2; x(4)=1.5; x(5)=1.0; x(6)=0.7; stem(t,x); axis([-2.2 3.2 0 1.7]) 3、 单位阶跃函数 1,0()0,0t u t t ?≥?=?

基于MATLAB的数字调制

2ASK、2FSK、2PSK数字调制系统的Matlab实现及性能分析与比较

引言:数字带通传输系统为了进行长距离传输,克服传输失真,传输损耗,同时保证带内特性。必须对数字信号进行载波调制,将信号频谱搬移到高频段才能在信道中传输,因而现代通信系统采取数字调制技术。通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化。根据控制载波参量大的不同,数字调制有调幅(ASK),调频(FSK),调相(PSK) 三种基本形式。Matlab用于仿真,分析和修改,还可以应用图形界面功能GUI能为仿真系统生成一个人机交互界面,便于仿真系统的操作,因此采用matlab对数字系统进行仿真。通过对系统的仿真,我们可以更加直观的了解数字调制系统的性能()及影响性能的因素,从而便于改进系统,获得更佳的传输性能。 关键词:数字 . 系统. 性能. ASK. FSK. PSK. Matlab. 仿真. 一 .数字调制与解调原理 1.1 2ASK (1)2ASK

2ASK 就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。由于调制信号只有0或1两个电平,相乘的结果相当于将载频 或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。 公式为: 1.2 2FSK 2FSK 可以看做是2个不同频率的2ASK 的叠加,其调制与解调方法与2ASK 差不多,主要频率F1和F2,不同的组合产生所要求的2FSK 调制信号。 公式如下: ?? ?===0 01,cos )(2k k c ASK a a t A t s 当, 当ω???===0 cos 1 ,cos )(212k k FSK a t A a t A t s 当,当ωω

数字信号处理MATLAB实验1

实验一熟悉MATLAB环境 一、实验目的 (1)熟悉MATLAB的主要操作命令。 (2)学会简单的矩阵输入和数据读写。 (3)掌握简单的绘图命令。 (4)用MATLAB编程并学会创建函数。 (5)观察离散系统的频率响应。 二、实验内容 认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。 上机实验内容: (1)数组的加、减、乘、除和乘方运算。输入A=[1234],B=[345 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出 A、B、C、D、E、F、G。 (2)用MATLAB实现以下序列。 a)x(n)=0.8n0≤n≤15 b)x(n)=e(0.2+3j)n0≤n≤15 c)x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π)0≤n≤15 (n)=x(n+16),绘出四个d)将c)中的x(n)扩展为以16为周期的函数x 16 周期。 (n)=x(n+10),绘出四个e)将c)中的x(n)扩展为以10为周期的函数x 10 周期。

(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本。 a)x 1(n)=2x(n+2)-x(n-1)-2x(n) b)∑=-=5 1k 2) k n (nx (n) x (4)绘出下列时间函数的图形,对x轴、y轴以及图形上方均须加上适当的标注。 a)x(t)=sin(2πt)0≤t≤10s b)x(t)=cos(100πt)sin(πt) 0≤t≤4s (5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1

MATLAB仿真 BPSK调制

matlab BPSK 调制与解调 1、调制 clear all; g=[1 0 1 0 1 0 0 1];%基带信号 f=100; %载波频率 t=0:2*pi/99:2*pi; cp=[];sp=[]; mod=[];mod1=[];bit=[]; for n=1:length(g); if g(n)==0; die=-ones(1,100); %Modulante se=zeros(1,100); % else g(n)==1; die=ones(1,100); %Modulante se=ones(1,100); % end c=sin(f*t); cp=[cp die]; mod=[mod c]; bit=[bit se]; end bpsk=cp.*mod; subplot(2,1,1);plot(bit,'LineWidth',1.5);grid on; title('Binary Signal'); axis([0 100*length(g) -2.5 2.5]); subplot(2,1,2);plot(bpsk,'LineWidth',1.5);grid on; title('ASK modulation'); axis([0 100*length(g) -2.5 2.5]); 2、调制解调加噪声 clc; close all; clear; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % 假定:

% 2倍载波频率采样的bpsk信号 % 调制速率为在波频率的 N/2m % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% m=128; N=512; n=1:1:N; N0=0.5*randn(1,N) %噪声 h0=zeros(1,N); % 30阶低通滤波器 h0 f = [0 0.3 0.3 1]; w0 = [1 1 0 0]; b = fir2(30,f,w0); [h,w] = freqz(b,1,N/2); h0(1,1:N/2)=abs(h'); for i=1:N/2 h0(1,N-i+1)=h0(1,i); end; %%%%%%%%% 随机序列 a=rand(1,m); for i=1:m if(a(1,i)>0.5) a(1,i)=1; else a(1,i)=-1; end; end; %%% 生成BPSK信号 bpsk_m=zeros(1,N); j=1;k=1; for i=1:N if(j==(N/m+1)) j=1; k=k+1; end; % 0.05*pi 为初始相位,可以任意改变 bpsk_m(1,i)=a(1,k)*sin(2*pi*0.5*i+0.05*pi)+a(1,k)*cos(2*pi*0.5*i+ 0.05*pi); j=j+1; end; bpsk_m=bpsk_m+N0;% 信号加噪声,模拟过信道 % 接收处理用正交本振与信号相乘,变频 bpsk_m1=bpsk_m.*sin(2*pi*0.5*n); bpsk_m2=bpsk_m.*cos(2*pi*0.5*n); %滤波 tempx=fft(bpsk_m1);

MATLAB实现数字信号处理

《数字信号处理》课程设计实例: 声音信号的处理 一.摘要: 这次课程设计的主要目的是综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB或者DSP开发系统作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。通过对声音的采样,将声音采样后的频谱与滤波。 MATLAB全称是Matrix Laboratory,是一种功能强大、效率高、交互性好的数值和可视化计算机高级语言,它将数值分析、矩阵运算、信号处理和图形显示有机地融合为一体,形成了一个极其方便、用户界面友好的操作环境。。经过多年的发展,已经发展成为一种功能全面的软件,几乎可以解决科学计算中所有问题。MATLAB软件还提供了非常广泛和灵活的用于处理数据集的数组运算功能。 在本次课程设计中,主要通过MATLAB来编程对语音信号处理与滤波,设计滤波器来处理数字信号并对其进行分析。 二.课程设计目的: 综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。 三.设计容: 容:录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性

变换法设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;换一个与你性别相异的人录制同样一段语音容,分析两段容相同的语音信号频谱之间有什么特点;再录制一段同样长时间的背景噪声叠加到你的语音信号中,分析叠加前后信号频谱的变化,设计一个合适的滤波器,能够把该噪声滤除。 四.设计原理: 4.1.语音信号的采集 熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数,在MATLAB环境中,有关声音的函数有: a:y=wavrecord(N,fs,Dtype);利用系统音频输入设备录音,以fs为采样频率,默认值为11025,即以11025HZ进行采样。Dtype为采样数据的存储格式,用字符串指定,可以是:‘double’、‘single’、’int16’、‘int8’其中只有int8是采用8位精度进行采样,其它三种都是16位采样结果转换为指定的MATLAB数据; b:wavplay(y,fs);利用系统音频输出设备播放,以fs为播放频率,播放语音信号y; c:wavwrite((y,fs,wavfile);创建音频文件; d:y=wavread(file);读取音频文件; 关于声音的函数还有sound();soundsc();等。 4.2滤波器: 4.21.IIR滤波器原理 冲激响应不变法是使数字滤波器在时域上模拟滤波器,但是它们的缺点是产生频率响应的混叠失真,这是由于从s平面到z平面是多值的映射关系所造成的。 双线性变换法是使数字滤波器的频率响应与模拟滤波器的频率响应相似的一种变换方法。为了克服多值映射这一缺点,我们首先把整个s平面压缩变换到某一中介的s1平面的一条横带里,再通过变换关系将此横带变换到整个z平面上去,这样就使得s平面与z平面是一一对应的关系,消除了多值变换性,也就消除了频谱混叠现象。

相关文档
相关文档 最新文档