搜档网
当前位置:搜档网 › 数字信号的基带传输验证_MATLAB

数字信号的基带传输验证_MATLAB

数字信号的基带传输验证_MATLAB
数字信号的基带传输验证_MATLAB

S X 文理学院

数理信息学院

课程设计报告书题目数字信号的基带传输验证

姓名

学号

专业班级

指导教师

时间

课程设计任务书

班 级

姓 名

题 目

数字信号的基带传输验证

技术参数、设计要求、

检测数据等

●了解数字基带信号的数学表示及其功率谱密度形式,数字信号接收原理,误码率的计算方法;眼图中参数定义及其含义;

●运行Matlab 软件建立数字信号基带传输系统的仿真程序,主要包括:发送信号的波形及其功率谱计算;接收信号(加白噪声)经过滤波器输出后信号的波形;

●验证眼图程序,要求能够根据眼图形状分析信号受干扰程度; ●根据课题结果对传输系统性能进行评估; ●接受课题指导老师的提问和质疑。

设计进度安排或工作计划

2015.1.4 ~2015.1.5: 熟悉课题,查询相关资料,完成方案选择; 2015.1.6~2015.1.9: 设计模块划分、实现及各模块调试、验证; 2015.1.10~2015.1.11:设计整体实现、调试及验证,并开始撰写报告; 2015.1.12~2015.1.13:设计完成,课程设计报告撰写并定稿,上交。

认真阅读MATLAB 语言课程设计报告撰写规范;课题小组经协商好要指定组长并明确分工,形成良好团队工作氛围;基于课题基本要求,各小组课再细化、增加要求;课题小组每成员均需各自撰写一份课程设计报告。

数字信号的基带传输验证

摘要

随着计算机技术的快速发展,新一代仿真软件随之产生,这些软件拥有强大的仿真运算能力,使得通信系统的设计和仿真变得非常简单便捷,进一步促进;现代通信系统仿真技术的发展。

本文主要研究通信系统中的关键技术——数字基带传输,组要包括基带系统的组成、传输的方式和无码间串扰条件的特性研究,研究基于Matlab语言的数字基带传输特性,通过Matlab设计基带系统,加深对基带传输系统的理解。同时,利用Matlab强大的仿真功能,运用奈奎斯特第一准则进行仿真分析,滚降因子分别取不同数值时,仿真分析时域的波形和眼图。清晰的表现出带限系统特性参数的不同,对信号传输的影响。

关键词MATLAB;数字信号;基带传输

目录

课程设计任务书...................................................... I 摘要............................................................. II 1设计概述. (1)

1.1设计背景 (1)

1.2设计目的 (1)

1.3设计内容及要求 (1)

2设计方案及实现 (2)

2.1总体设计方案 (2)

2.2设计原理 (2)

2.3具体设计 (2)

2.3.1产生数字PAM信号 (2)

2.3.2数字PAM信号的功率谱密度 (3)

2.3.3数字基带接接收 (3)

2.3.4匹配滤波器 (4)

2.3.5带限系统下的基带信号 (5)

2.3.6 升余弦滚降系统 (5)

2.3.7最佳基带系统 (5)

2.3.8 基带信号眼图 (5)

3设计结果分析 (6)

3.1数字基带信号波形及功率谱密度 (6)

3.2对加入高斯白噪声的基带信号滤波处理 (8)

3.3加入高斯白噪声后的基带系统误码率 (10)

3.4升余弦滚降系统 (12)

3.5数字基带信号的波形和眼图 (14)

4总结 (17)

4.1存在的问题 (17)

4.2心得体会 (18)

参考文献 (19)

1设计概述

1.1设计背景

来自数据终端的原始数据信号,如计算机输出的二进制序列,电传机输出的代码,或者是来自模拟信号经数字化处理后的PCM码组,M序列等都是数字信号。这些信号往往包含丰富的低频分量,甚至直流分量,因而称之为数字基带信号。在某些具有低通特性的有线信道中,特别是传输距离不太远的情况下,数字基带信号可以直接传输,我们称之为数字基带传输[1]。

目前,虽然在实际应用场合,数字基带传输不如频带传输的应用那样广泛,但对于基带传输系统的研究仍是十分有意义的。一是因为在利用对称电缆构成的近距离数据通信系统广泛采用了这种传输方式,例如以太网;二是因为数字基带传输中包含频带传输的许多基本问题,也就是说,基带传输系统的许多问题也是频带传输系统必须考虑的问题,例如传输过程中的码型设计与波形设计;三是因为任何一个采用线性调制的频带传输系统均可以等效为基带传输系统来研究。

1.2设计目的

《MATLAB课程设计》课程是信息工程类专业的重要实践性课程,主要通过MATLAB实践设计的训练,提高我们对已学相关专业知识的掌握和应用水平。通过学习侧重培养我们树立如何运用所学的专业基础课程来选择设计题目,并培养我们合理安排实现设计的基本程序流程,利用强大的仿真功能与丰富的工具箱来制作、调试、评价自己设计的作品。通过课程实践教学,培养我们将已学课程基础理论与实践环节实际相结合。提高我们实践动手能力,为日后参加工作奠定一定的实践基础。

本次设计主要运用MATLAB软件验证数字信号的基带传输特性。

1.3设计内容及要求

通过本实验,观察到失真信号的表现形式,了解不同编码在基带传输系统中的影响的主要因素;理解消除码间串扰需要满足奈奎斯特第一准则的原因。实验要求如下:

1.了解数字基带信号的数学表示及其功率谱密度形式,数字信号接收原理,误码率的计算方法;眼图中参数定义及其含义;

2.运行Matlab软件建立数字信号基带传输系统的仿真程序,主要包括:发送信号的波形及其功率谱计算;接收信号(加白噪声)经过滤波器输出后信号的波形;

3.验证眼图程序,要求能够根据眼图形状分析信号受干扰程度;

4.认真填写实验预习报告,填写实验结果,根据实验结果对传输系统性能进行评估。

5.接受实验指导老师的提问和质疑。

2设计方案及实现

2.1总体设计方案

运用Matlab软件编程实现数字PAM信号的产生,并计算其功率谱密度;接收数字基带信号,设计一个与输入信号相匹配的滤波器,经过该滤波器后,仿真其输出波形,计算器误码率,并与理论结果相比较分析;设计一个无码间串扰的升余弦滚降系统,仿真出在接收端的基带数字信号波形;在基带信号中加入高斯白噪声,观察其眼图并进行分析[2]。

2.2设计原理

在数字通信系统中,需要将输入的数字序列映射为信号波形在信道中传输,此时信源输出数字序列,经过信号映射后成为始于信道传输的数字调制信号。数字序列中每个数字产生的时间间隔成为马元间隔,单位时间内产生的符号数成为符号速率,它反映了数字符号产生的快慢程度。由于数字符号是按马元间隔不断产生的,经过将数字符号一一映射为相应的信号波形后,就形成了数字调制信号。根据映射后信号的频谱特性,可以分成基带信号和频带信号。通常基带信号指信号的频谱为低通型,而频带信号的频谱为带通型。

2.3具体设计

2.3.1产生数字PAM信号

利用波形的不同幅度表示不同数字的信号称为脉冲幅度调制(PAM)信号,可以将产生的PAM信号的幅值用下式表示:

()()s n n

s t g t n a T =-∑

其中,g(t)是该数字信号的波形信号,其取值与第n 时刻的数字符号取值一一映射。

2.3.2数字PAM 信号的功率谱密度

如果输入的数字序列是平稳的,则PAM 信号的功率谱密度可以通过下式计算得到:

221()()()s

j fn n n

n

T f n G f T e P R π-=

∑ 其中,()a n R 是序列{}n a 的自相关函数,G(f)是g(f)的频谱, s T 是码元间隔。由上式可知,PAM 信号的功率谱密度不仅受信号波形的影响,同时受序列的自相关特性的影响。因此,可以利用构造不同的自相关特性序列来改变数字信号的功率谱形状,即基带信号的码型,适应信道的频率特性[3]。

2.3.3数字基带接接收

数字基带信号接收经过滤波后,输出信号为:

()()()()()s n n

r t g t n h t n t h t a T =-?+?∑

()()()()s n n

h g t n d h n t d a T ττττττ

∞∞

-∞

-∞

=--+-∑??

()k

s r k r

T = ()()()()s s s n n

h g k n d h n k d a T T T ττττττ

∞∞

-∞

-∞

=--+-∑??

其中

()()()()s k

s k

h g k d h n k d f

T T τττ

τττ

ω∞

-∞∞-∞

=-=-??

[]0k E ω=

[][()()()()]s s k E E h h n k n n d d T T τυτυυτω∞∞

-∞-∞

=--?

?

[()()]()()s s E n k n n h h d d T T τυτυυτ∞

-∞-∞

=--?

?

()()()2h h d d N δυττυυτ∞

-∞-∞

=-?

?2

2()d N h ττ∞

-∞

=?

因此, k ω是一个均值为0,方差为2

20

()2

h d N

ττσ∞

-∞

=?

的高斯随机变量。

k

k

n

k k n

n k

f f a a r

ω

-≠=

++∑

基带信号的接收可以等效成离散模型进行分析,正如上式所示,接收信号在k 时刻的抽样值取决于当前输入码元值、前后码元对其的干扰(码间干扰)和加性高斯白噪声。

如果整个基带传输系统的冲激响应应能满足()

()

00

0k f k f k =??=?

≠??,则称该系统

是无码间干扰的系统。此时接收端第k 时刻时刻抽样值为

0k k k r f a ω=+

()()

()2

0,~0,

2

k N f h g d N h d τττωτ

τ∞∞

-∞

-∞

??= ???

?

?

2.3.4匹配滤波器

第k 时刻抽样时的信噪比为 ()

2202

2

k f E a SNR N h d ττ

-∞

??

??

=

?

()()()

2

2

2

2

2g -k E a h d d N h d ττττ

ττ

-∞

-∞∞

-∞

????

?

??

()2

20

2g k E a t dt N ∞

-∞????=? 当()()h Kg ττ=-时等式成立,K 为常数,称此滤波器为波形()g t 的匹配滤波器,此时在抽样点得到的信噪比最大,具有最佳的误码性能[4]。因此在匹配接

收滤波器情况下有:

k g k k r E a n =+

其中,()

2

g ,~(0,)2

g

k N E t dt n n ∞

-∞

=?。

2.3.5带限系统下的基带信号

效基带成行应该满足的时间特性,这两者是等价的,又称为奈奎斯特抽样无码间干扰定理。当抽样点无码间干扰时,整个基带系统需要满足的条件,包括了发送基带成形和接收滤波器,无码间干扰的基带系统的频率响应特性应该满足特定的条件[5]。

2.3.6 升余弦滚降系统

一类常用的无码间干扰几代传输系统为升余弦滚降系统,即

?????

????????

????????? ??--+=021c o s 12)(T a f a T T T f F π

其中a 称为滚降系数,频带利用率为T

a T

n 2/)1(/1+=。升余弦灌浆系统的时域波

形为

2

2241cos *sin )(T t a T t a T t T t t F -?

?? ????? ??=πππ

2.3.7最佳基带系统

由于收发波形匹配使抽样时的信噪比最大,因此带限情况下的最佳基带系统设计应该既保证无码间干扰,同时收发匹配,此时的基带系统成为最佳基带系统设计。通常,满足最佳基带系统设计的发送滤波器和接收滤波器的幅度谱可以采用升余弦滚降系统的根号函数,即根号升余弦,其相移特性是线性的[6]。 2.3.8 基带信号眼图

在数字基带系统的接收端用示波器观察接收信号,将接受信号输入示波器的垂直放大器,同时调整示波器的水平扫描周期为码元间隔的整数倍,则示波器上

显示的波形形如一只只“眼睛”,成为基带信号的眼图。其实,基带信号的眼图形成原因是因为示波器的荧光显示屏光迹在信号小时候需要一段时间才能消失,因此显示在示波器上的是若干段的数字基带波形的叠加,呈现出眼图的形状[7]。

3设计结果分析

3.1数字基带信号波形及功率谱密度

用Matlab软件仿真出如下数字基带信号的波形及其功率谱密度:

(1)输入二进制序列取值为0,1(且等概率出现),此波形称单极性非归零(NRZ)波形。

(2)若输入二进制序列取值0,1(且等概率出现),此波形称为单极性归零(RZ)波形。

(3)若输入二进制序列取值-1,+1(且等概率出现)。

代码如下:

%数字基带信号的功率谱密度

clear all;

close all;

Ts=1;

N_sample = 64; %每个码元的抽样点数

dt = Ts/N_sample; %抽样时间间隔

N = 1000; %码元数

t = 0:dt:(N*N_sample-1)*dt;

T = N*N_sample*dt;

gt1 = ones(1,N_sample); %NRZ非归零波形

gt2 = ones(1,N_sample/2); %RZ归零波形

gt2 = [gt2 zeros(1,N_sample/2)];

mt3 = sinc((t-5)/Ts); % sin(pi*t/Ts)/(pi*t/Ts)波形,截段取10个码元

gt3 = mt3(1:10*N_sample);

d = ( sign( randn(1,N) ) +1 )/2;

data = sigexpand(d,N_sample); %对序列间隔插入N_sample-1个0

st1 = conv(data,gt1);

st2 = conv(data,gt2);

d = 2*d-1; %变成双极性序列

data= sigexpand(d,N_sample);

st3 = conv(data,gt3);

[f,st1f] = T2F(t,[st1(1:length(t))]);

[f,st2f] = T2F(t,[st2(1:length(t))]);

[f,st3f] = T2F(t,[st3(1:length(t))]);

figure(1)

subplot(321)

plot(t,[st1(1:length(t))] );grid

axis([0 20 -1.5 1.5]);

ylabel('单极性NRZ波形');

subplot(322);

plot(f,10*log10(abs(st1f).^2/T) );grid

axis([-5 5 -40 10]);

ylabel('单极性NRZ功率谱密度(dB/Hz)');

subplot(323)

plot(t,[st2(1:length(t))] );

axis([0 20 -1.5 1.5]);grid

ylabel('单极性RZ波形');

subplot(324)

plot(f,10*log10(abs(st2f).^2/T));

axis([-5 5 -40 10]);grid

ylabel('单极性RZ功率谱密度(dB/Hz)');

subplot(325)

plot(t-5,[st3(1:length(t))] );

axis([0 20 -2 2]);grid

ylabel('双极性sinc波形');xlabel('t/Ts');

subplot(326)

plot(f,10*log10(abs(st3f).^2/T));

axis([-5 5 -40 10]);grid

ylabel('sinc波形功率谱密度(dB/Hz)');xlabel('f*Ts'); 仿真波形图如下:

2

4

6

8

10

12

14

16

18

20

-101单极性N R Z 波形

-5

-4

-3

-2

-1

1

2

3

4

5

-40-30-20-100

10单极性N R Z 功率谱密度(d B /H z )

2

4

6

8

10

12

14

16

18

20

-101单极性R Z 波

-5

-4

-3

-2

-1

1

2

3

4

5

-40-30-20-100

10单极性R Z 功率谱密度(d B /H z )0

2

4

6

8

1012

14

16

18

20

-2-1012

双极性s i n c 波形

t/Ts

-5

-4

-3

-2

-1

01

2

3

4

5

-40-30-20-10010s i n c 波形功率谱密度(d B /H z )

f*Ts

3.2对加入高斯白噪声的基带信号滤波处理

设二进制数字基带信号()()s n n

s t g t n a T =-∑ ,其中

{}1,1n

a ∈+- ,

10()0t T g t ≤

其他,加性高斯白噪声的双边功率频谱密度为0/20N = 。

(1)若接收滤波器的冲激响应函数h(t)=g(t),画出经过滤波器后的波形图。

(2)(2)若1

5/(2)()0

s f h f T ?≤=?

?其他

,画出经过滤波器后的波形图。

代码如下:

%数字基带信号接收示意 digit_receive.m clear all; close all; N =100;

N_sample=8; %每码元抽样点数 Ts=1;

dt = Ts/N_sample; t=0:dt:(N*N_sample-1)*dt;

gt = ones(1,N_sample); %数字基带波形

d = sign(randn(1,N)); %输入数字序列

a = sigexpand(d,N_sample);

st = conv(a,gt); %数字基带信号

ht1 = gt;

rt1 = conv(st,ht1);

ht2 = 5*sinc(5*(t-5)/Ts);

rt2 = conv(st,ht2);

figure(1)

subplot(321)

plot( t,st(1:length(t)) );

axis([0 20 -1.5 1.5]); ylabel('输入双极性NRZ数字基带波形'); subplot(322)

stem( t,a);

axis([0 20 -1.5 1.5]); ylabel('输入数字序列')

subplot(323)

plot( t,[0 rt1(1:length(t)-1)]/8 );

axis([0 20 -1.5 1.5]);ylabel('方波滤波后输出');

subplot(324)

dd = rt1(N_sample:N_sample:end);

ddd= sigexpand(dd,N_sample);

stem( t,ddd(1:length(t))/8 );

axis([0 20 -1.5 1.5]);ylabel('方波滤波后抽样输出');

subplot(325)

plot(t-5, [0 rt2(1:length(t)-1)]/8 );

axis([0 20 -1.5 1.5]);

xlabel('t/Ts'); ylabel('理想低通滤波后输出');

subplot(326)

dd = rt2(N_sample-1:N_sample:end);

ddd=sigexpand(dd,N_sample);

stem( t-5,ddd(1:length(t))/8 );

axis([0 20 -1.5 1.5]);

xlabel('t/Ts'); ylabel('理想低通滤波后抽样输出');

仿真波形图如下:

2

4

6

8

10

12

14

16

18

20

-101输入双极性N R Z 数字基带波形

2

4

6

8

10

12

14

16

18

20

-10

1输入数字序列

2

4

6

8

10

12

14

16

18

20

-101方波滤波后输出

2

4

6

8

10

12

14

16

18

20

-10

1方波滤波后抽样输出

2

4

6

8

1012

14

16

18

20

-101t/Ts

理想低通滤波后输出

2

4

6

8

1012

14

16

18

20

-101t/Ts

理想低通滤波后抽样输出

可以看出,相同的基带信号,可以用不同的接收方法。因此引出了如何才是最优的接收方法这个问题,即最佳接收问题。通常,数字通信中的性能以误码率为判断标准,相同的信噪比下,能达到最小的误码率被视为最佳的。

3.3加入高斯白噪声后的基带系统误码率

设发送的数字基带信号为()()n s n

s t a g t nT =-∑,其中{}1,1n a ∈+,

10()0s

t T g t ≤

?其它,n a 为独立同分布,+1和-1的发送概率相同,信道中加性高斯白噪声的双边功率谱密度为02N ,接收机如图5-3所示,接收滤波器为()g t 的匹配滤波器,求:

(1)该数字基带系统的误码率;

(2)通过Matlab 仿真该通信系统的性能,并与理论结果对照。 代码如下:

% 数字基带接收机的性能,digit_ber.m clear all

close all

EbN0dB = 0:0.5:10;

N0 = 10.^(-EbN0dB/10);

sigma = sqrt(N0/2);

% 理论计算的误码率

Pb = 0.5*erfc(sqrt(1./N0));

% 仿真误码率

for n = 1:length(EbN0dB)

a = sign(randn(1,100000)); % 产生等概信源+1、-1

rk = a + sigma(n)*randn(1,100000); % 离散等效接收模型

dec_a = sign(rk); % 判决

ber(n) = sum( abs(a - dec_a)/2 )/length(a); % 计算误码率

end

semilogy(EbN0dB,Pb);

hold;

semilogy(EbN0dB,ber,'rd - ');

legend('理论值','仿真结果');

xlabel('Eb/N0(dB)');ylabel('Pb');

title('二进制匹配接收机的性能');

仿真波形图如下:

1234

5678910

10-6

10

-5

10

-4

10

-3

10

-2

10

-1

Eb/N0(dB)

P b

二进制匹配接收机的性能

理论值仿真结果

不同的基带成形,最终得到的数字基带信号的频谱特性不同,有的频谱带宽无限,有的频带受限。在实际系统中,信道经常是带限的,因此频带无限的数字基带信号经过这样的信道会造成接收信号的失真。为了避免信号功率损失,必须设计频带受限的数字基带信号。

3.4升余弦滚降系统

用Matlab 画出a=0,0.5,1的升余弦滚降系统频谱,并画出其各自对应的时域波形。 代码如下:

%升余弦滚降系统示意图,raise_cos.m clear all; close all; Ts=1;

N_sample = 17; dt = Ts/N_sample; df = 1.0/(20.0*Ts); t = -10*Ts:dt:10*Ts;

f = -2/Ts:df:2/Ts; alpha = [0,0.5,1]; for n=1:length(alpha) for k=1:length(f)

if abs(f(k)) > 0.5*(1+alpha(n))/Ts Xf(n,k)=0;

elseif abs( f(k) ) < 0.5*(1-alpha(n))/Ts Xf(n,k)=Ts; else

Xf(n,k)=0.5*Ts*(1+cos( pi*Ts/(alpha(n)+eps)*(abs(f(k))-0.5*(1-alpha(n))/Ts) ) );

end end

xt(n,:) = sinc(t/Ts).*(cos(alpha(n)*pi*t/Ts))./(1- 4*alpha(n)^2 *t.^2 / Ts^2 + eps); end figure(1) plot(f,Xf);

axis([-1 1 0 1.2]);xlabel('f/Ts');ylabel('升余弦滚降频谱'); figure(2) plot(t,xt);

axis([-10 10 -0.5 1.1]);xlabel('t/Ts');ylabel('升余弦滚降波形'); 仿真波形图如下:

-1

-0.8-0.6-0.4-0.2

00.20.40.60.81

00.2

0.4

0.6

0.8

1

f/Ts

升余弦滚降频谱

-10

-8-6-4-2

0246810

-0.50

0.5

1

t/Ts

升余弦滚降波形

由升余弦滚降系统波形图可知,其能量主要集中在-1至1之间,当t=0时波形的幅值最大;升余弦滚降系数越大,其波形的幅值下降速率越快。

3.5数字基带信号的波形和眼图

设计带传输系统响应是a=1的升余弦滚降系统,画出在接收端的基带数字信号波形及其眼图。 代码如下:

%基带信号眼图,yt.m clear all; close all; Ts=1; N_sample=17; eye_num = 7; alpha=1; N_data=1000; dt = Ts/N_sample; t = -3*Ts:dt:3*Ts; %产生双极性数字信号 d = sign(randn(1,N_data)); dd= sigexpand(d,N_sample); %基带系统冲击响应(升余弦)

ht=sinc(t/Ts).*(cos(alpha*pi*t/Ts))./(1-4*alpha^2*t.^2/Ts^2+eps);

st=conv(dd,ht); st = conv(dd,ht);

tt = -3*Ts:dt:(N_data+3)*N_sample*dt-dt; figure(1) subplot(211); plot(tt,st);

axis([0 20 -1.2 1.2]);xlabel('t/Ts');ylabel('部分响应基带信号'); subplot(212) %画眼图

ss=zeros(1,eye_num*N_sample); ttt = 0:dt:eye_num*N_sample*dt-dt; for k=3:50

ss = st(k*N_sample+1:(k+eye_num)*N_sample); drawnow; plot(ttt,ss); hold on; end %plot(ttt,ss);

xlabel('t/Ts');ylabel('部分响应信号眼图'); 仿真波形图如下:

2

4

6

8

1012

14

16

18

20

-1-0.500.5

1t/Ts

部分响应基带信号

0123

4567

-2

-101

2

t/Ts

部分响应信号眼图

设二进制数字基带信号

{}1,1n a

∈+-,10()0

t T

g t ≤

经过理想低通滤波器1

5/(2)()0

s f h f T ?≤=?

?其他

后的眼图。

代码如下:

%示意双极性NRZ 基带信号经过带宽受限信号造成的码间干扰影响及其眼图,文件mjgr.m

clear all; close all; N =1000;

N_sample=8; %每码元抽样点数 Ts=1;

dt = Ts/N_sample; t=0:dt:(N*N_sample-1)*dt;

gt = ones(1,N_sample); %数字基带波形 d = sign(randn(1,N)); %输入数字序列 a = sigexpand(d,N_sample); st = conv(a,gt); %数字基带信号 ht1 = 5*sinc(5*(t-5)/Ts); rt1 = conv(st,ht1); ht2 = sinc((t-5)/Ts); rt2 = conv(st,ht2);

eyediagram(rt1+j*rt2,40,5); %调用Matlab 画眼图的函数,行40点,表示5只眼

仿真波形图如下:

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)'); (2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x);

>> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)'); 因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]); (3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔: t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕') >> t=-0.1:0.0001:0.1; x=cos(100*t)+cos(3000*t); >> plot(t,x);title('杨婕婕朱艺星'); >> xlabel('x=cos(100*t)+cos(3000*t)');

数字信号处理的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);

克莱姆法则及证明

第7 节克莱姆(Cramer)法则 一、线性方程组 元线性方程组是指形式为: 的方程组,其中代表个未知量,是方程的个数,, 称为方程组的系数,称为常数项。 线性方程组的一个解是指由个数组成的有序数组,当个 未知量分别用代入后,式(1)中每个等式都成为恒等式。方程组(1)的解的全体称为它的解集合,如果两个线性方程组有相同的解集合,就称它们是同解方程组。 为了求解一个线性方程组,必须讨论以下一些问题: (1). 这个方程组有没有解? (2). 如果这个方程组有解,有多少个解? (3). 在方程组有解时 , 解之间的关系 , 并求出全部解。 本节讨论方程的个数与未知量的个数相等(即)的情形。 二、克莱姆法则 定理 1 (克莱姆法则)如果线性方程组 的系数行列式:

接下来证明定理。首先,证明 3)确实是(2) 的解。将行列式 按第 列展开得: 那么这个方程组有解,并且解是唯一的,这个解可表示成: 其中 是把 中第 列换成常数项 所得的行列式,即 方程组有解; 解是唯一的; 解由公式(3)给出。 因此证明的步骤是: 有解,并且(3)是一个解,即证明了结论 与 。 第二,证明如果 是方程组(2)的一个解,那么一定有 。这就证明了解的唯一性,即证明了结论 。 3) 代入方程组,验证它确实是解。这样就证明了方程组 证明:先回忆行列式的一个性质,设 阶行列式 第一,把 ,则有:

其中是行列式中元素的代数余子式。现把 代入第个方程的左端,得: 这说明将(3)代入第个方程后,得到了一个恒等式,所以(3)是(2)的 一个解。 其次,设是方程组(2)的一个解,那么,将代入(2)后,得到个恒等式: 4) 用系数行列式的第列的代数余子式依次去乘(4)中个恒等式,得到:

数字信号处理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)实验指导书

《信号与系统》实验指导书 张建奇骆崇编写 浙江工业大学之江学院信息工程分院 2012年2月

目录 实验一MATLAB的基本使用 (1) 一、实验目的 (1) 二、实验原理 (1) 三、实验内容与要求 (8) 四、实验报告 (9) 实验二时域波形的MATLAB实现 (10) 一、实验目的 (10) 二、预习要求 (10) 三、实验原理 (10) 四、实验内容与要求 (18) 五、实验报告 (19) 实验三用MATLAB对系统时域分析 (20) 一、实验目的 (20) 二、预习要求 (20) 三、实验原理 (20) 四、实验内容与要求 (29)

实验一MATLAB的基本使用 一、实验目的 1、了解和掌握MATLAB的基本操作 2、了解MATLAB的库函数 3、会用MATLAB进行简单的操作。 二、实验原理 1、界面操作 MATLAB是“MATrix LABoratory”的缩写(矩阵实验室),它是由美国Mathworks公司于1984年正式推出的一种科学计算软件,由于其强大的功能,在欧美的一些大学里MATLAB已经成为许多诸如数字信号处理、自动控制理论等高级教程的主要工具软件,同时也成为理工科学生,必须掌握的一项基本技能。 当需要运行程序时,只需选择桌面上(或开始)中的MATLAB6.5应用程序图标即可 通常情况下,MATLAB的工作环境主要由一下几个窗口组成: 命令窗口(Command Window)

工作区间浏览器(Workspace) 历史命令窗口(Command History) 图形窗口(Figure) 文本编辑窗口(Editor) 当前路径窗口(Current Directory) MATLAB的命令窗与命令操作 当用户使用命令窗口进行工作时,在命令窗口中可以直接输入相应的命令,系统将自动显示信息。 例如在命令输入提示符“>>”后输入指令: >>t=[1,2,3;4,5,6;7,8,9]; 按回车键(Enter)后,系统即可完成对变量t的赋值。 MATALB提供了非常方便的在线帮助命令(help),它可提供各个函数的用法指南,包括格式、参数说明、注意事项及相关函数等内容。 2、图形窗 MATLAB图形窗(Figure)主要用于显示用户所绘制的图形。 通常,只要执行了任意一种绘图命令,图形窗就会自动产生。

基于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中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; 运行结果:

实验1 用MATLAB进行信号频谱分析(推荐文档)

实验1 用MATLAB 进行信号频谱分析 一、实验目的 ㈠ 初步掌握MATLAB 产生常用离散时间信号的编程方法。 ㈡ 学习编写简单的FFT 算法程序,对离散信号进行幅频谱分析。 ㈢ 观察离散时间信号频谱的特点。 二、实验原理 ㈠ 常用的离散时间信号 在 MATLAB 语言主要是研究离散信号的。常用的离散信号有: 1.单位取样序列 ???≠==000 1)(n n n δ 2.单位阶跃序列 ?? ?<≥=0 01 )(n n n u 3.实指数序列 R a n a n x n ∈?=;)( 4.复指数序列 n e n x n j ?=+)(0)(ωσ 5.正(余)弦序列 )c o s ()(0θω+=n n x n ? 6.周期序列 n N n x n x ?+=)()( ㈡ 离散信号的产生 离散信号的图形显示使用stem 指令。 在 MATLAB 中的信号处理工具箱中,主要提供的信号是离散信号。

由于MATLAB 对下标的约定为从1开始递增,例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,X(3)=3… 因此要表示一个下标不由1开始的数组x(n),一般应采用两个矢量,如 n=[-3,-2,-1,0,l ,2,3,4,5]; x=[1,-l ,3,2,0,4,5,2,1]; 这表示了一个含9个采样点的矢量:X(n)={x(-3),x(-2),x(-1),x(0),x(1),x(2),x(3),x(4),x(5)}。 1.单位取样序列 ?? ?≠==δ0 001)(n n n 这一函数实现的方法有二: 方法一:可利用MATLAB 的zeros 函数。 x=zeros(1,N); %建立一个一行N 列的全零数组 x(1)=1; %对X (1)赋1 方法二:可借助于关系操作符实现 n=1:N; x=[n==1]; %n 等于1时逻辑关系式结果为真,x=1;n 不等于1时为假,x=0 如要产生 ?????≤<<=≤≤=-δ2 0210 100)(10)(n n n n n n n n n n n n 则可采用MATLAB 实现: n=n1:n2; x=[(n-n0)==0];%n=n0时逻辑关系式结果为真,x=1;n ≠n0时为

实验一 基于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信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2 sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');

(2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x); >> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');

因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕')

克莱姆法则的一个新证明

线性代数培训之收获 ——对“克莱姆法则”的一个新教案 有幸参加国家线性代数精品课程的培训,聆听李尚志老师的教诲,真是受益匪浅,感触很多。李老师对数学的高深领悟,“空间为体,矩阵为用”,独创性的设计了线性代数新的教学内容体系,淋漓尽致的体现了代数与几何的内在联系,使人耳目一新。李老师的启发式教学方法也是值得我们学习和借鉴,以问题为驱动,引入新概念,使学生对抽象的数学概念(如n 阶行列式、线性相关、线性无关、方程的秩等)有了形象的、感性的、更简洁、更深刻的理解.特别是用几何方法引入二阶行列式和三阶行列式,而且赋于其几何含义:二阶行列式和三阶行列式分别表示平行四边形的有向面积和平行六面体的有向体积,更一般n 阶行列式在几何上表示“n 维体的有向体积”,这样可以发挥学生的想象力,引导学生去发现更多,引导学生去发现数学定理,充分培养学生的创造性思维能力,一切是为了学生的发展,正如李老师所说评价教学的效果主要是看学生懂了没有,体现了以学生为本的教学理念。 对比本人对线性代数的理解以及教学实际,真是差距很大,觉得自己需要努力去奋斗。这里就结合这次培训的体会和收获联系自己以往的线性代数教学实际,拟写一份教案,谈谈自己对“克莱姆法则”内容新的处理方式。 §7克莱姆法则 一、教学内容 (1) 克莱姆法则的证明 (2) 克莱姆法则的应用 二、教学要求 (1)理解克莱姆法则的证明 (2)理解非齐次线性方程组有唯一解的充分条件是它的系数行列式D ≠0;若D=0,方程组无解或有无穷多解 (3)理解齐次线性方程组有非零解的必要条件是它的系数行列式D=0;若D ≠0,方程组只有零解 教学过程 一、(定理1)克莱姆法则 若n ×n 线性方程组 ???????=+++=+++=+++n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a 221 12222212111212111,, ⑴ 的系数行列式

数字信号处理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 ?≥?=?

克莱姆法则及证明

第7节克莱姆(Cramer)法则 一、线性方程组 元线性方程组是指形式为: (1) 的方程组,其中代表个未知量,是方程的个数,,; 称为方程组的系数,称为常数项。 线性方程组的一个解是指由个数组成的有序数组,当个未知量分别用代入后,式(1)中每个等式都成为恒等式。方程组(1)的解的全体称为它的解集合,如果两个线性方程组有相同的解集合,就称它们是同解方程组。 为了求解一个线性方程组,必须讨论以下一些问题: (1).这个方程组有没有解? (2).如果这个方程组有解,有多少个解? (3).在方程组有解时,解之间的关系,并求出全部解。 本节讨论方程的个数与未知量的个数相等(即)的情形。 二、克莱姆法则 定理1(克莱姆法则)如果线性方程组

(2) 的系数行列式: 那么这个方程组有解,并且解是唯一的,这个解可表示成: (3) 其中是把中第列换成常数项所得的行列式,即 。 分析:定理一共有3个结论:方程组有解;解是唯一的;解由公式(3)给出。因此证明的步骤是: 第一,把代入方程组,验证它确实是解。这样就证明了方程组有解,并且(3)是一个解,即证明了结论与。

第二,证明如果是方程组(2)的一个解,那么一定有 。这就证明了解的唯一性,即证明了结论。 证明:先回忆行列式的一个性质,设阶行列式,则有: 接下来证明定理。首先,证明(3)确实是(2)的解。将行列式按第列展开得: , 其中是行列式中元素的代数余子式。现把 代入第个方程的左端,得:

这说明将(3)代入第个方程后,得到了一个恒等式,所以(3)是(2)的一个解。 其次,设是方程组(2)的一个解,那么,将代入(2)后,得到个恒等式: (4) 用系数行列式的第列的代数余子式依次去乘(4)中个恒等式,得到: 将此个等式相加,得: 从而有:。这就是说,如果是方程组(2)的 一个解,那么一定有,所以方程组只有一个解。 三、齐次线性方程组

数字信号处理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仿真

基带信号眼图实验——matlab 仿真

————————————————————————————————作者:————————————————————————————————日期: ?

数字基带信号的眼图实验——matla b仿真 一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉MATL AB 语言编程。 二、实验预习要求 1、复习《数字通信原理》第七章7.1节——奈奎斯特第一准则内容; 2、复习《数字通信原理》第七章7.2节——数字基带信号码型内容; 3、认真阅读本实验内容,熟悉实验步骤。 三、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1所示,要获得良好的基带传输系统,就应该 () n s n a t nT δ-∑() H ω() n s n a h t nT -∑基带传输抽样判决 图3-1?基带系统的分析模型 抑制码间干扰。设输入的基带信号为()n s n a t nT δ-∑,s T 为基带信号的码元周期,则经过基 带传输系统后的输出码元为 ()n s n a h t nT -∑。其中 1 ()()2j t h t H e d ωωωπ +∞ -∞ = ? ?(3-1) 理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: 10()0,s k h kT k =?=? ? , 为其他整数 ?? ?(3-2) 频域应满足:

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平面是一一对应的关系,消除了多值变换性,也就消除了频谱混叠现象。

数字信号处理基本知识点Matlab实现

数字信号处理(第二版) 绪论 1.4 MATLAB 在信号处理中的应用简介 MATLAB 是美国Mathworks 公司于1984年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理、系统仿真和图形显示于一体,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。 MATLAB 软件包括五大通用功能:数值计算功能(Numeric ),符号运算功能(Symbolic );数据可视化功能(Graphic ),数据图形文字统一处理功能(Notebook )和建模仿真可视化功能(Simulink )。该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks 公司已推出30多个应用工具箱。MA TLAB 在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。 2.10 离散时间信号与系统的Matlab 表示 2.10.1 离散时间信号的表示和运算 1、基本序列的Matlab 表示 单位采样序列 在MA TLAB 中,单位采样序列可以通过编写以下的DTimpulse .m 文件来实现,即 function y=DTimpulse (n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 单位阶跃序列 在MA TLAB 中,单位阶跃序列可以通过编写DTu .m 文件来实现,即 function y=DTu (n) y=n>=0; %当参数为非负时输出1 调用该函数时n 必须为整数或整数向量。 矩形序列 用MA TLAB 表示矩形序列可根据公式()()()N R n u n u n N =--并利用DTu 函数生成,即 function y=DTR(n,N) y=DTu(n)-DTu(n-N); 调用该函数时n 必须为整数或整数向量,N 必须为整数。 实指数序列 用MA TLAB 表示实指数序列()(),n x n a u n n N a R =∈∈,即

信号与系统MATLAB实验总汇

实验一、MATLAB 编程基础及典型实例 一、实验目的 (1)熟悉MATLAB 软件平台的使用; (2)熟悉MATLAB 编程方法及常用语句; (3)掌握MATLAB 的可视化绘图技术; (4)结合《信号与系统》的特点,编程实现常用信号及其运算。 示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。编制一个函数型m 文件,实现这个功能。function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2) a=min(min(n1),min(n2)); b=max(max(n1),max(n2)); n=a:b; f1_new=zeros(1,length(n)); f2_new=zeros(1,length(n)); tem1=find((n>=min(n1))&(n<=max(n1))==1); f1_new(tem1)=f1; tem2=find((n>=min(n2))&(n<=max(n2))==1); f2_new(tem2)=f2; 四、实验内容与步骤 (2)绘制信号x(t)=)3 2sin(2t e t ?的曲线,t 的范围在0~30s ,取样时间间隔为0.1s 。t=0:0.1:30; y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);

(3)在n=[-10:10]范围产生离散序列:?? ?≤≤?=Other n n n x ,033,2)(,并绘图。n=-10:1:10; z1=((n+3)>=0); z2=((n-3)>=0); x=2*n.*(z1-z2); stem(n,x);(4)编程实现如下图所示的波形。 t=-2:0.001:3; f1=((t>=-1)&(t<=1)); f2=((t>=-1)&(t<=2)); f=f1+f2; plot(t,f); axis([-2,3,0,3]);

基于matlab的数字信号调制与解调

一matlab常用函数 1、特殊变量与常数 ans 计算结果的变量名computer 确定运行的计算机eps 浮点相对精 度Inf 无穷大I 虚数单位inputname 输入参数名NaN 非 数nargin 输入参数个数nargout 输出参数的数目pi 圆周 率nargoutchk 有效的输出参数数目realmax 最大正浮点数realmin 最小正浮点数varargin 实际输入的参量varargout 实际返回的参量操作符与特殊字符+ 加- 减* 矩阵乘法 .* 数组乘(对应元素相乘)^ 矩阵幂 .^ 数组幂(各个元素求幂)\ 左除或反斜杠/ 右除或斜面杠 ./ 数组除(对应元素除)kron Kronecker张量积: 冒号() 圆括[] 方括 . 小数点 .. 父目录 ... 继续, 逗号(分割多条命令); 分号(禁止结果显示)% 注释! 感叹号' 转置或引用= 赋值== 相等<> 不等 于& 逻辑与| 逻辑或~ 逻辑非xor 逻辑异或 2、基本数学函数 abs 绝对值和复数模长acos,acodh 反余弦,反双曲余弦acot,acoth 反余切,反双曲余切acsc,acsch 反余割,反双曲余割angle 相角asec,asech 反正割,反双曲正割secant 正切asin,asinh 反正弦,反双曲正 弦atan,atanh 反正切,双曲正切tangent 正切atan2 四象限反正 切ceil 向着无穷大舍入complex 建立一个复数conj 复数配 对cos,cosh 余弦,双曲余弦csc,csch 余切,双曲余切cot,coth 余切,双曲余切exp 指数fix 朝0方向取整floor 朝负无穷取整*** 最大公因数imag 复数值的虚部lcm 最小公倍数log 自然对数log2 以2为底的对数log10 常用对数mod 有符号的求余nchoosek 二项式系数和全部组合数real 复数的实部rem 相除后求余round 取整为最近的整数sec,sech 正割,双曲正割sign 符号数sin,sinh 正弦,双曲正弦sqrt 平方根tan,tanh 正切,双曲正切 3、基本矩阵和矩阵操作 blkding 从输入参量建立块对角矩阵eye 单位矩阵linespace 产生线性间隔的向量logspace 产生对数间隔的向量numel 元素个数ones 产生全为1的数组rand 均匀颁随机数和数组randn 正态分布随机数和数组zeros 建立一个全0矩阵colon) 等间隔向量cat 连接数组diag 对角矩阵和矩阵对角线fliplr 从左自右翻转矩阵flipud 从上到下翻转矩阵repmat 复制一个数组reshape 改造矩阵roy90 矩阵翻转90度tril 矩阵的下三角triu 矩阵的上三角dot 向量点集cross 向量叉 集ismember 检测一个集合的元素intersect 向量的交 集setxor 向量异或集setdiff 向是的差集union 向量的并集数值分析和傅立叶变换cumprod 累积cumsum 累 加cumtrapz 累计梯形法计算数值微分factor 质因子inpolygon 删除多边形区域内的点max 最大值mean 数组的均 值mediam 中值min 最小值perms 所有可能的转 换polyarea 多边形区域primes 生成质数列表prod 数组元素的乘积rectint 矩形交集区域sort 按升序排列矩阵元 素sortrows 按升序排列行std 标准偏差sum 求

相关主题