常见离散信号产生和实现

常见离散信号产生和实现
常见离散信号产生和实现

数字信号处理实验报告

实验1 常见离散信号产生和实现

一、实验目的

1、加深对常用离散信号的理解;

2、熟悉使用MATLAB 在时域中产生一些基本的离散时间信号。

二、实验原理

MATLAB 语言提供了一系列函数用来产生信号,如exp, sin, cos, square, sawtooth ,ones, zeros 等函数。

1.

基本信号序列

1) 单位抽样序列

?

??=01)(n δ

00

≠=n n 在MATLAB 中可以利用zeros()函数实现。x=[1 zeros(1, n-1)]

示范程序: % Program P1_1

% Generation of a Unit Sample Sequence clf;

% Generate a vector from -10 to 20 n = -10:20;

% Generate the unit sample sequence u = [zeros(1,10) 1 zeros(1,20)]; % Plot the unit sample sequence stem(n,u);

xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence'); axis([-10 20 0 1.2]);

如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:

??

?=-01)(k n δ 0

≠=n k n 2) 单位阶跃序列

??

?0

1)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。

);,1(N ones x =

3) 实指数序列

R a n a n x n

∈?=,)(

MATLAB 实现:

n

a x N n .^1:0=-=

4) 复指数序列

n e n x n

j ?=+)()(ωσ

MATLAB 实现:

)

)0exp((1

:0n w j lu x N n **+=-=

5) 随机序列

MATLAB 提供了两种随机信号:

rand(1,N) 产生[0,1]上均匀分布的随机矢量。

randn(1,N) 产生均值为0,方差为1的高斯随机序列,即白噪声序列。

2.

基本周期波形

1) 方波

MATLAB 工具箱函数square 可以产生方波;

t=0:0.1*pi:6*pi; y=square(t);

axis([0 7*pi -1.5 1.5]);

plot(t,y); xlabel(‘时间 t ’); ylabel(‘幅度y ’); 2) 正弦波

)/2sin()(?π+=Fs fn A n x

在MATLAB 中

)

/***2sin(*1

:0fai Fs n f pi A x N n +=-=

3) 锯齿波

工具箱函数sawtooth 函数可以产生锯齿波

Fs=10000;

t=0:1/Fs:1.5; %抽样长度1.5s, 抽样频率为10kHz x=sawtooth(2*pi*50*t); %信号频率为50Hz plot(t, x);

axis()[0 0.2 -1 1]; %画出0.2秒的波形

3.

基本非周期波形

工具箱函数chirp 能产生一种扫射频率信号,其特点是信号的瞬时频率随时间按照一定规律变化

t=0:1/1000:2 %抽样频率1kHz, 抽样时间2s.

x=chirp(t, 0.1, 150) %0时刻为DC 信号,1s 时频率为150Hz 。 specgram(x, 256, 1000, 256, 250); 4.

sinc 信号

MATLAB 实现: t=linspace(-5,5); x=sinc(t); plot(t,x); 5.

序列的操作

1) 信号加 x(n)=x1(n)+x2(n) MATLAB 实现:

x=x1+x2;

注意:x1和x2序列应该具有相同的长度,位置对应,才能相加。 2) 信号乘 x(n)=x1(n)*x2(n) MATLAB 实现:

x=x1.*x2; %数组乘法 3) 改变比例 y(n)=k*x(n) MATLAB 实现: y=k*x;

4) 折叠 y(n)=x(-n); MATLAB 实现: y=fliplr(x);

5) 抽样和 ∑==

2

1

)(n n n n x y

MATLAB 实现:

y=sum(x(n1:n2));

6) 抽样积 ∏==2

1

)(n n n n x y

MATLAB 实现:

y=prod(x(n1:n2));

7) 信号能量 2

|)(|∑∞

-∞

==

n n x Ex

MATLAB 实现:

Ex=sum(abs(x).^2);

8) 信号功率 2

1

|

)(|1∑-==N n n x N Px

MATLAB 实现:

Px=sum(abs(x).^2)/ N;

实验和程序: 1) 单位抽样序列

function uss(n)%构造函数

N=0:n-1

u = [1, zeros(1,n-1)];%构造矩阵

stem(N,u);

xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence');

axis([-10 n 0 1.2]);

右图为取n为10的图形

2) 单位阶跃序列

function jieyue(n)%构造函数

N = -10:n-1;

u = [zeros(1,10) ones(1,n)];

stem(N,u);

xlabel('Time index

n');ylabel('Amplitude');

title('Unit jump Sequence');

axis([-10 n 0 1.2]);

右图为取n为10的图形

3) 实指数序列

function index(z1,N)%构造函数

% n1=0:N;

n=0:N/2;

x=z1.^n;

stem(n,x);

xlabel('Time index

n');ylabel('Amplitude');

右图为取z1=2,N=30的图形

4) 复指数序列

function findex(z1,z2)%构造函数

Time index n

A

m

p

l

i

t

u

d

e

Unit Sample Sequence

Time index n

A

m

p

l

i

t

u

d

e

Unit jump Sequence

4

Time index n A

m

p

l

i

t

u

d

e

5

Time index n

A

m

p

l

i

t

u

d

e

N=10;

n=0:N/2;

x=exp((z1+j*z2).*n);

stem(n,abs(x));

xlabel('Time index n');ylabel('Amplitude'); 右图为z1=2,z2=3的图形

5) 方波

function square1(g)%G为方波的占空比

t=0:0.1:6*pi;

y=square(t,g);

plot(t,y);

xlabel('时间 t');

ylabel('幅度y');

axis([0 7*pi -1.5 1.5]); %要放在最后才可以正确显示

右图分别为G=70,G=30的图形

6)正弦波

function sin1(N,A,Fs,f,Q)%N为显示

的范围,A为幅度,

%FS为抽样频率,f为模拟信号的频率,Q为初相位

n=0:N/2;

x=A*sin(2*pi*f*n/Fs+Q)

stem(n,x);

xlabel('Time index

n');ylabel('Amplitude');

axis([0 N/2 -2.5 2.5]);

右图为sin1(60,2,1000,50,10)的图形

7)锯齿波

时间 t

y

时间 t

Time index n

A

m

p

l

i

t

u

d

e

function saw(f,F)%f 为锯齿波的频率,F 为间隔 %其中F 不能取太大,不易观 察图形 t=0:1/F:2;

y=sawtooth(2*pi*f*t); plot(t,y);

axis([0 2 -1.2 1.2]); 右图为saw(10,100)的图形 8)基本非周期波形

%利用chirp 来实现

t=0:1/500:2 %抽样频率500Hz, 抽样时间2s.

x=chirp(t, 0.1, 150) %0时刻为DC 信号,1s 时频

率为150Hz 。

specgram(x, 256, 500, 256, 250); 右图分别为抽样频率为500与10000的图形 9) sinc 信号

function sinc1(t1,t2,A)%[t1,t2]为定义域A

为幅度

t=linspace(t1,t2);

x=A*sinc(t);

plot(t,x);

右图为[t1,t2]=[-10,10],A=2的图形

10)序列相加 function sequenceplus(x1,x2) n1=length(x1); n2=length(x2);

Time

F r e q u e n c

y

50100

150200250

Time

F r e q u e n c

y

50

100

150

200

250

-20

-10

10

20

-40

-2002040

n=-n1/2:(n1/2-1);

subplot(221)

stem(n,x1)

subplot(222)

stem(n,x2)

if(n1==n2) % x1,x2 的长度必须相同

x=x1+x2;

subplot(223)

stem(n,x);

axis([-n1 n1 0 2])

else error('x1与x2不一样长')

end

右图为x3=[ones(1,20),ones(1,10),ones(1,10)];

x4=[zeros(1,20),ones(1,10),zeros(1,10)];

sequenceplus(x3,x4)的图形

如果输入

x3=[ones(1,10),ones(1,10),ones(1,10)];

x4=[zeros(1,20),ones(1,10),zeros(1,10)];

则会显示x1与x2不一样长

11)序列相乘

function sequencenmultiply(x1,x2)

n1=length(x1);

n2=length(x2);

n=-n1/2:(n1/2-1);

subplot(221)

stem(n,x1)

subplot(222)

stem(n,x2)

if(n1==n2) % x1,x2的长度必须相-20-1001020

x=x1.*x2; subplot(223) stem(n,x);

axis([-n1 n1 0 2])

else disp('error x1与x2不一样长') end

右图为x3=[ones(1,20),ones(1,10),ones(1,10)];

x4=[zeros(1,20),ones(1,10),zeros(1,10)]; sequenceplus(x3,x4)的图形 如果输入

x3=[ones(1,10),ones(1,10),ones(1,10)]; x4=[zeros(1,20),ones(1,10),zeros(1,10)]; 则会显示x1与x2不一样长 12)改变比例

function changerate(x,k) n1=length(x); %x 为需要改变的序列 n=-n1/2:(n1/2-1); ,k 为改变的比例

x1=k.*x; stem(n,x1);

axis([-n1 n1 0 k+1]); 右图为

x=[ones(1,20),ones(1,10),ones(1,10)];K=1.5的图形 13)折叠

function pucker(x)

n1=length(x);

n=-n1/2:(n1/2-1);%这里的n 必须关于0两边对称 x1=fliplr(x); ,不然就会出错 subplot(211)

-40

-30

-20

-10

10

20

30

40

stem(n,x)%画出原序列

axis([-n1 n1 0 1.2]);

subplot(212)

stem(n,x1);%画出折叠后的序列

axis([-n1 n1 0 1.2]);

14)抽样和函数

n=0:24;

x1=[zeros(1,5),ones(1,3),zeros(1,5),ones(1,6),zeros(1,6)];

x=sum(x1)

计算结果为x =

9

15)序列积

n=0:25;

x1=rand(1,26)

x=prod(x1)

计算结果为x1 =

Columns 1 through 6

0.9501 0.2311 0.6068 0.4860 0.8913 0.7621

Columns 7 through 12

0.4565 0.0185 0.8214 0.4447 0.6154 0.7919

Columns 13 through 18

0.9218 0.7382 0.1763 0.4057 0.9355 0.9169

Columns 19 through 24

0.4103 0.8936 0.0579 0.3529 0.8132 0.0099

Columns 25 through 26

0.1389 0.2028

x =

4.6704e-012

16) 序列能量

x3=[ones(1,15),ones(1,20),ones(1,16)];

p=sum(abs(x3).^2)

计算结果为p =

51

17)信号功率

x1=[zeros(1,5),-2*ones(1,3),zeros(1,5),5*ones(1,6),zeros(1,6)];

N=length(x1)

p=sum(abs(x1).^2)/N

计算结果为N =

25

p =

6.4800

四、讨论复指数序列的性质。

绘出信号,当、时、、

时的信号实部和虚部图;当时呢?此时信号周期为多少?

调用复指数函数,绘出上面的z的图形如下所示

(1)

05101520253035404550

051015

202530354045

50

Time index n

A m p l i t u d e

(2)

5

101520253035404550

051015

2025303540

4550

Time index n

A m p l i t u d e

(3)

051015

20253035404550

Time index n

A m p l i t u d e

(4)

051015

x 10

11

05

1015

12

Time index n

A m p l i t u d e

(5)

Time index n

A m p l i t u d e

讨论:由上面的图形可以得出当z 的实部为负数时,经过复指数运算后的实部和虚部都是振幅按指数衰减的正弦振荡。而z 的实部为正数时,经过复指数运算后的实部和虚部都是振幅按 指数增长的正弦振荡。对于实数经过复指数运算后只有实部,而当z 为纯虚数时,经过复指数运

算后的实部与虚部都是正弦振荡的,且振荡周期为虚部除以PI 再2倍,上题中时,周

期为12。

实验2 离散系统的时域分析

一、实验目的

1、熟悉并掌握离散系统的差分方程表示法;

2、加深对冲激响应和卷积分析方法的理解。

二、实验原理

在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下:

其输入、输出关系可用以下差分方程描述:

输入信号分解为冲激信号,

记系统单位冲激响应,则系统响应为如下的卷积计算式:

时,h[n]是有限长度的(),称系统为FIR 系统;反之,

称系统为IIR 系统

四、实验内容

1、用MATLAB 求系统响应

1) 卷积的实现

线性移不变系统可由它的单位脉冲响应来表征。若已知了单位脉冲响应和系统激励就可通过卷积运算来求取系统响应,即)(*)()(n h n x n y 程序:

function conv1(x,h)

y=conv(x,h); N=length(y); n=0:1:N-1;

disp('output sequence=');

disp(y);

stem(n,y);

xlabel('Time index n');ylabel('Amplitude');

输入为:

x=[-2 0 1 -1 3]

h=[1 2 0 -1]

function conv1(x,h)

输出为:output sequence=

-2 -4 1 3 1 5 1 -3

2)单位脉冲响应的求取

线性时不变因果系统可用MA TLAB的函数filter来仿真

y=filter(b,a,x);

其中,x和y是长度相等的两个矢量。矢量x表示激励,矢量a,b表示系统函数形式

滤波器的分母和分子系数,得到的响应为矢量y。例如计算以下系统的单位脉冲响应y(n)+0.7y(n-1)-0.45y(y-2)-0.6y(y-3)=0.8x(n)-0.44x(n-1)+0.36x(n-2)+0.02x(n-3) 程序实现:

function filter1(N,b,a) % a=input('Type in the vector a='); N=input('Desired impuse response

x=[1 zeros(1,N-1)]; length=');%b=input('Type in the vector b=');

y=filter(b,a,x);

disp('output sequence')

disp(y)

k=0:1:N-1;

stem(k,y);

xlabel('Time index n'); ylabel('Amplitude');

输入数据:

N=41

b=[0.8 -0.44 0.36 0.02]

a=[1 0.7 -0.45 -0.6]

输出为:output sequence

Columns 1 through 6

0.8000 -1.0000 1.4200 -0.9440 0.6998 -0.0627 Columns 7 through 12

-0.2076 0.5370 -0.5069 0.4719 -0.2363 0.0736 Columns 13 through 18

0.1253 -0.1964 0.2380 -0.1798 0.1151 -0.0187 Columns 19 through 24

-0.0430 0.0908 -0.0941 0.0809 -0.0445 0.0111 Columns 25 through 30

0.0207 -0.0362 0.0414 -0.0328 0.0198 -0.0038 Columns 31 through 36

-0.0081 0.0158 -0.0170 0.0142 -0.0081 0.0018 Columns 37 through 41

0.0036 -0.0065 0.0073 -0.0059 0.0035

Time index n

A m p l i t u d e

2、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零?

clf;

h = [3 2 1 -2 1 0 -4 0 3]; %impulse response

x = [1 -2 3 -4 3 2 1]; %input sequence

y = conv(h,x);

n = 0:14;

subplot(2,1,1);

stem(n,y);

xlabel('Time index n'); ylabel('Amplitude');

title('Output Obtained by Convolution'); grid;

n1=length(h);

x1 = [x zeros(1,n1-1)] %要补零,因为输入x1与输出y1要等长的,

y1 = filter(h,1,x1)

subplot(2,1,2);

stem(n,y1);

xlabel('Time index n'); ylabel('Amplitude');

title('Output Generated by Filtering'); grid;

max(y-y1) %判断两种方法求出的有没有差别

以上程序段为有判断y与y1的差别的,用 conv 与filter求的结果一样,只是两个的原理不同.一个是卷积,一个是循环卷积.而对于循环卷积来说,它的两个对象必须长度相等,所以就需要进行补零

当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要补零,首先判断哪个序列的长度更大,再将短的一个序列后面补零,使其与长序列相等长度.

3、编制程序求解下列两个系统的单位冲激响应,分别用filter 和 impz实现,并绘出其图形。

给出理论计算结果和程序计算结果并讨论。

下面为程序段:

function zzz

%%%%%%%%%%%%%%%%%%%%(1)y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]

%%%用filter求

t1=[1 0.75 0.125];%系统函数的分母

t2=[1 -1];%系统函数的分子

subplot(2,1,1)

filter(40,t2,t1)

title('filter')

%%%%用impz求

t1=[1 0.75 0.125];%系统函数的分母

t2=[1 -1];%系统函数的分子

subplot(212)

impz(20,t2,t1)

title('impz') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(2)y[n]=0.5{x[n-1]+x[n-2]+x[n-3]+x[n-4]} %%%%%用filter求

t1=[1]%系统函数的分母

t2=[0.5 0.5 0.5 0.5]%系统函数的分子

subplot(211)

filter1(40,t2,t1)

title('filter')

%%%%用impz求

t1=[1]

t2=[0.5 0.5 0.5 0.5]

subplot(212)

filter1(40,t2,t1)

title('impz')

function filter1(N,b,a)% a=input('Type in the vector a=');

实验1离散时间信号的产生与运算

数字信号处理 实验报告 班级: 学号: 姓名:word文档可自由复制编辑

实验1离散时间信号的产生与运算 一、实验目的 (1)了解离散时间信号的特点。 (2)掌握在计算机中生成及绘制各种常用离散时间信号序列的方法。 (3)掌握序列的加、减、乘、除和平移、反转、尺度变换等基本运算及计算机的 实现方法。 二、实验原理 信号是随时间变化的物理量,而计算机只能处理离散信号。离散信号是在某些不连续的时间上有信号值,而在其它时间点上没有定义的一类信号。离散信号一般可以由连续信号通过模数转换得到。 常用的离散信号有单位脉冲序列、单位阶跃序列、复指数序列、正弦信号序列、随机序列等。 离散信号的基本运算包括信号的加、减、乘、除。离散信号的时域变换包括信号的平移、反转、尺度变换等。 三、实验内容与方法 1、编写程序,生成如下数字信号:sqrt(2*k)u(k错误!未找到引用源。3), δ(k+5)。 (1) f(k)=sqrt(2*k)u(k错误!未找到引用源。3) 代码: k=(1:10); n=3; u=[(k-n)>=0]; a=sqrt(2*k); stem(k,a.*u); title('sqrt(2*k)u(k 3)的图像'); xlabel('时间(k)');ylabel('幅值f(k)'); 运行图: word文档可自由复制编辑

(2) f(k)= δ(k+5) 代码: k1=-10;k2=0;k=k1:k2; n=-5; %单位脉冲出现的位置 f=[(k-n)==0]; stem(k,f,'filled');title('δ(k+5)序列的图像') xlabel('时间(k)');ylabel('幅值f(k)'); 运行图: word文档可自由复制编辑

matlab实现:常见的离散时间信号

1. 单位抽样序列,或称为离散时间冲激,单位冲激: ? ??=01)(n δ 00≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-01)(k n δ 0≠=n k n 2.单位阶跃序列 ? ??01)(n u 00<≥n n 在MATLAB 中可以利用ones( )函数实现。 );,1(N ones x = 3.正弦序列 )(cos )(0φω+=n A n x 这里, ,,0ωA 和φ都是实数,它们分别称为本正弦信号)(n x 的振幅,角频率和初始相位。 πω200=f 为频率。 4.复正弦序列 n j e n x ω=)( 5.实指数序列 n A n x α=)( 6. 随机序列 长度为N 的随机序列 基本数学函数参考教材P69页以及随后的使用说明。 注意使用行向量,特别是冒号运算符。 举例,长度为N 的实指数序列在MATLAB 中实现: n a x N n .^1 :0=-= 1. 单位采样 长度为N 的单位采样序列u(n)可以通过下面的MATLAB 命令获得:

u=[1 )1,1(-N zeros ]; 延迟M 个采样点的长度为N 的单位采样序列ud(n)(M

实验一离散时间信号分析

实验一离散时间信号分析 一、实验目的 1. 初步掌握Matlab 的使用,掌握编写M 文件和函数文件 2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。 3. 掌握生成及绘制数字信号波形的方法。 4. 掌握序列的基本运算及实现方法。 5. 研究信号采样时采样定理的应用问题。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列{x(n)}来表示,其中x(n)代表序列的第n个数字,n 代表时间的序列,n 的取值范围为-∞< n<+∞的整数,n 取其它值x(n)没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号x a(t)进行等间隔采样,采样间隔为T,得到{x (nT )} a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)δ(n)、单位阶跃序列u(n)、矩形序列R N(n)、 实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算

序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 y(n)=∑ x (m )h (n ?m )+∞m=?∞ =x(n)*h(n) 上式的运算关系称为卷积运算,式中* 代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4 个步骤。 (1)反褶:先将x (n )和h (n )的变量n 换成m ,变成x (m )和h (m ),再将h (m )以纵 轴为对称轴反褶成h (-m )。 (2)移位:将h (-m )移位n ,得h (n- m )。当n 为正数时,右移n 位;当n 为负数时, 左移n 位。 (3)相乘:将h (n -m )和x (m )的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得y (n )。 三、主要实验仪器及材料 PC 机、Matlab7.0。 四、实验内容 1.知识准备 认真复习以上基础理论,理解本实验所用到的实验原理。 2.离散时间信号(序列)的产生 利用MATLAB 产生和绘制下列有限长序列:

实验1-多种离散时间信号产生(答案)

实 验 报 告 学生姓名: 学 号: 指导教师: 一、实验室名称:数字信号处理实验室 二、实验项目名称:多种离散时间信号的产生 三、实验原理: 1、基本离散时间信号 利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。常见的基本信号可以简要归纳如下: (1).单位采样序列 ???=0 1 )(n δ ≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1(); ,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-0 1 )(k n δ ≠=n k n (2).单位阶跃序列 ???=0 1 )(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。 );,1(N ones x = (3).正弦序列

)2sin()(?π+=fn A n x 采用MATLAB 的实现方法,如: ) ***2sin(*1 :0?+=-=n f pi A x N n (4).实指数序列 n a A n x ?=)( 其中,A 、a 为实数。采用MATLAB 的实现方法,如: n a x N n .^1 :0=-= (5).复指数序列 n j e A n x )(0)(ωσ+?= 采用MATLAB 的实现方法,如: ) *)*exp((*1 :00n j A x N n ωσ+=-= 为了画出复数信号x [n ],必须要分别画出实部和虚部,或者幅值和相角。 MATLAB 函数real 、imag 、abs 和angle 可以逐次计算出一个复数向量的这些函数。 2、基本数字调制信号 (1).二进制振幅键控(2ASK ) 最简单的数字调制技术是振幅键控(ASK ),即二进制信息信号直接调制模拟载波的振幅。二进制幅度键控信号的时域表达式: ∑-=n c s n ASK t nT t g a t S ωcos )]([)( 其中,a n 为要调制的二进制信号,g (t)是单极性脉冲信号的时间波形,Ts 表示调制的信号间隔。典型波形如下:

用MATL新编实现常用的离散时间信号及其时域运算

用M A T L新编实现常用的离散时间信号及其 时域运算 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

实验四用MATLAB实现常用的离散时间信号及其时域运算 —— 摘要:在MATLAB中,只能用向量来表示离散时间信号。与连续信号不同,离散时 间信号无法用符号运算来表示。用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令stem来绘出直观的信号波形图,stem是专门用于绘制离散时 间信号的。在MATLAB中离散序列的时域运算和变换不能用符号运算来实现,而必 须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的 相加、相乘,因而参加运算的两序列向量必须有相同的维数。 一、实验目的:(1)学习MATLAB语言及其常用指令; (2)学习和掌握用MATLAB语言产生离散时间信号的编程方法; (3)通过编程绘制出离散时间信号的波形,加深理解信号的时域运 算。 二、实验内容:(1)运用MATLAB的绘图指令绘制离散时间信号; (2)用MATLAB语言实现离散时间信号的时域运算。 三、实验原理:(1)单位阶跃序列和单位样值序列。 离散时间信号只在某些离散的瞬时给出信号的值,因此,它是时间上不连续的 序列。单位阶跃序列和单位样值序列在离散时间信号与系统的分析中是两个非 常典型的序列,分别记为u(n)和δ(n)。它们的定义分别如下: 1 n≥0 1 n≥0 u(n)= δ(n)= 0 n<0 0 n≠0

若单位阶跃序列的起始点为n0,单位样值序列出现在n0时刻,则表达式分别为: 1 n≥n0 1 n=n0 u(n-n0)= δ(n-n0)= 0 n

离散时间信号的表示及运算

第2章 离散时间信号的表示及运算 2.1 实验目的 ● 学会运用MATLAB 表示的常用离散时间信号; ● 学会运用MATLAB 实现离散时间信号的基本运算。 2.2 实验原理及实例分析 2.2.1 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill”、“filled”,或者参数“.”。由于MA TLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0()0(0 1)(≠=?? ?=n n n δ (12-1) 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例2-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、熟悉MATLAB 的绘图函数; 2、掌握单位取样序列、单位阶跃序列、矩形序列和正余弦序列的产生方法; 3、掌握离散时间信号基本运算的MATLAB 实现; 4、掌握离散时间信号线性卷积和运算的MATLAB 实现。 二 实验设备 1、计算机 2、MA TLAB R2007a 仿真软件 三 实验原理 1)序列相加和相乘 设有序列)(1n x 和)(2n x ,它们相加和相乘如下: ) ()()()()()(2121n x n x n x n x n x n x ?=+= 注意,序列相加(相乘)是对应序列值之间的相加(相乘),因此参加运算的两个序列必须具有相同的长度,并且保证位置相对应。如果不相同,在运算前应采用zeros 函数将序列左右补零使其长度相等并且位置相对应。在MATLAB 中,设序列用x1和x2表示,序列相加的语句为:x=x1+x2;然而要注意,序列相乘不能直接用x=x1*x2,该式表示两个矩阵的相乘,而不是对应项的相乘。对应项之间相乘的实现形式是点乘“.*”,实现语句为:x=x1.*x2。 2)序列翻转 设有序列:)()(n x n y -=,在翻转运算中,序列的每个值以n=0为中心进行翻转,需要注意的是翻转过程中序列的样值向量翻转的同时,位置向量翻转并取反。MATLAB 中,翻转运算用fliplr 函数实现。设序列)(n x 用样值向量x 和位置向量nx 表述,翻转后的序列 )(n y 用样值向量y 和位置向量ny 描述。 3)序列的移位 移位序列)(n x 的移位序列可表示为:)()(0n n x n y -=,其中,00>n 时代表序列右移 0n 个单位;00

用MATLAB实现常用的离散时间信号及其时域运算

实验四用MATLAB实现常用的离散时间信号及其时域运算 —— 摘要:在MATLAB中,只能用向量来表示离散时间信号。与连续信号不同,离散时间信号无法用符号运算来表示。用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令stem来绘出直观的信号波形图,stem是专门用于绘制离散时间信号的。在MATLAB中离散序列的时域运算和变换不能用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参加运算的两序列向量必须有相同的维数。 一、实验目的:(1)学习MATLAB语言及其常用指令; (2)学习和掌握用MATLAB语言产生离散时间信号的编程方法; (3)通过编程绘制出离散时间信号的波形,加深理解信号的时域运算。 二、实验内容:(1)运用MATLAB的绘图指令绘制离散时间信号; (2)用MATLAB语言实现离散时间信号的时域运算。 三、实验原理:(1)单位阶跃序列和单位样值序列。 离散时间信号只在某些离散的瞬时给出信号的值,因此,它是时间上不连续的序列。单位阶跃序列和单位样值序列在离散时间信号与系统的分析中是两个非常典型的序列,分别记为u(n)和δ(n)。它们的定义分别如下: 1 n≥0 1 n≥0 u(n)= δ(n)= 0 n<0 0 n≠0 若单位阶跃序列的起始点为n0,单位样值序列出现在n0时刻,则表达式分别为: 1 n≥n0 1 n=n0 u(n-n0)= δ(n-n0)= 0 n

单位样值序列与连续时间的单位冲激信号的异同。 (2)离散时间信号的时域运算。 与连续时间系统的研究类似,在离散系统分析中,经常遇到离散时间信号的运算,包括两信号的相加、相乘以及序列自身的移位、反褶、尺度等等,也需要了解在运算过程中序列的表达式以及对应的波形的变化。 序列x(n)的移位:x(n-n0) 序列x(n)的反褶:x(-n) 序列x(n)的尺度变换:x(an) 两序列x1(n)与x2(n)的相加减:x1(n) ±x2(n) 两序列与的相乘:x1(n) ·x2(n) (3)学习如何使用MATLAB语言产生离散时间信号并对离散时间信号进行时域运算。四、实验任务: (1)编制用于产生下列信号的通用程序,要求对于任意给定的参数都能实现所要求的信号。调试并运行这些通用的程序。 ①x(n)=Aδ(n-n0) 程序:function un(t1,t2,t0) t=t1:t2; n=length(t); tt=t1:t2; n1=length(tt); f=zeros(1,n); f(1,t0-t1+1)=3; stem(t,f),grid on title('μ¥??3??÷D?o?') axis([t1,t2 -0.2 4])

实验一离散时间信号的分析

武汉工程大学 信号分析与处理实验一 专业:通信02班 学生姓名:李瑶华 学号:1304200113 完成时间:2016年6月1日

实验一: 离散时间信号的分析 一、实验目的 1.认识常用的各种信号,理解其数学表达式和波形表示。 2.掌握在计算机中生成及绘制数字信号波形的方法。 3.掌握序列的简单运算及计算机实现与作用。 4.理解离散时间傅立叶变换、Z 变换及它们的性质和信号的频域特性。 二、实验设备 计算机,MATLAB 语言环境。 三、实验基础理论 1.序列的相关概念 2.常见序列 ● 单位取样序列?? ?≠==0n 0,0 n 1n ,)(δ ● 单位阶跃序列? ??<≥=0,00 ,1)(n n n u ● 单位矩形序列???-≤≤=其他,01 0,1)(N n n R N ● 实指数序列)()(n u a n x n = ● 复指数序列n jw e n x )(0)(+=σ ● 正弦型序列)n sin()(0?+=w A n x 3.序列的基本运算 ● 移位 y(n)=x(n-m) ● 反褶 y(n)=x(-n) ● 和 )()()(21n x n x n y += ● 积 )()()(21n x n x n y ?= ● 标乘 y(n)=mx(n) ● 累加∑-∞ == n m m x n y )()( ● 差分运算 ???--=?-+=?) 1()()() ()1()(x n x n x n x n x n x n 后相差分前向差分

4.离散傅里叶变换的相关概念 ● 定义 ∑+∞ -∞ =-=n jwn jw e n x e X )()( ● 两个性质 1) [] )2()2()2()()(,2)(ππππ++∞ -∞ =+-+--== =∑w j n n w j jw n w j jwn jw e X e n x e X e e w e X 故有。由于的周期函数,周期为是 2) 当x (n )为实序列时,)(jw e X 的幅值)(jw e X 在π20≤≤w 区间内是偶对称函 数,相位)(arg jw e X 是奇对称函数。 5.Z 变换的相关概念 ● 定义 ∑+∞ -∞ =-= n n z n x z X )()((双边Z 变换) ∑+∞ =-=0 )()(n n z n x z X (单边Z 变换) 四、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB 语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 1. 单位取样序列的产生函数 function [x,n]=impseq(n0,n1,n2) %产生x(n)=delta(n-n0);n1<=n,n0<=n2; %[x,n]=impseq(n0,n1,n2) if ((n0n2)|(n1>n2)) error('参数必须满足n1<=n0<=n2') end n=[n1:n2]; %x=[zeros(1,(n0-n1)),1,zeros(1,(n2-n0))]; x=[(n-n0)==0]; 2. 单位阶跃序列的产生函数 function [x,n]=stepseq(n0,n1,n2) %产生x(n)=u(n-n0);n1<=n,n0<=n2; %[x,n]=stepseq(n0,n1,n2) if ((n0n2)|(n1>n2)) error('参数必须满足n1<=n0<=n2') end n=[n1:n2];

离散时间信号分析

离散时间信号分析 实验目的:利用MA TLAB进行离散时间序列的基本运算,掌握基本的MA TLAB函数的编写和调试方法。 实验内容: (1)信号相加 x(n)=x1(n)+x2(n) 当两个相加的序列长度不同时或位置不对应时,首先必须调整二者的位置对齐,然后通过zeros函数左右补零使其长度相等后再相加。下面的参考代码利用函数sigadd说明了这些运算,其验证将在后续实验中进行。 MATLAB参考代码 function[y,n]=sigadd(x1,n1,x2,n2) %implements y(n)=x1(n)+x2(n) %--------------------------------------------- %[y,n]=sigadd(x1,n1,x2,n2) %y=sum sequence over n,which includes n1 and n2 %x1=first sequence over n1 %x2=second sequence over n2(n2 can be different from n1) % n=min(min(n1),min(n2)):max(max(n1),max(n2));%duration of y(n) y1=zeros(1,length(n)); y2=y1; y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;%x1 with duration of y y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;%x2 with duration of y y=y1+y2;%sequence addition (2)信号相乘 信号相乘,即两个序列的乘积(或称“点乘”),表达式为: x(n)=x1(n)?x2(n) 在MA TLAB中,用运算符“.*”实现。

电子科大实验1-多种离散时间信号产生答案

实 验 报 告 学生姓名: 学 号: 指导教师: 一、实验室名称:数字信号处理实验室 二、实验项目名称:多种离散时间信号的产生 三、实验原理: 1、基本离散时间信号 利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。常见的基本信号可以简要归纳如下: (1).单位采样序列 ? ??=01)(n δ 00 ≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:

???=-0 1)(k n δ ≠=n k n (2).单位阶跃序列 ? ??=01)(n u 00 <≥n n 在MATLAB 中可以利用ones()函数实现。 );,1(N ones x = (3).正弦序列 )2sin()(?π+=fn A n x 采用MATLAB 的实现方法,如: ) ***2sin(*1 :0?+=-=n f pi A x N n (4).实指数序列 n a A n x ?=)( 其中,A 、a 为实数。采用MATLAB 的实现方法,如: n a x N n .^1:0=-= (5).复指数序列 n j e A n x )(0)(ωσ+?= 采用MATLAB 的实现方法,如: ) *)*exp((*1 :00n j A x N n ωσ+=-= 为了画出复数信号x [n ],必须要分别画出实部和虚部,或者幅值和相角。MATLAB 函数real 、imag 、abs 和angle 可以逐次计算出一个复数向量的这些函数。

离散时间信号的产生及信号的卷积和运算实验报告2

离散时间信号的产生及信号的卷积和运算 实验报告 班级:___________ 姓名:__________ 学号:____________ 一、实验目的和原理 实验原理: (一)DTFT 和DFT 的定义及其相互关系: 序列x[n] 的DTFT 定义:∑=∞ -∞ =-n jn ωj ω x[n]e )X(e 它是关于自变量ω的复函数,且是以π2为周期的连续函数。)X(e j ω 可以表示为: )(e jX )(e X )X(e j ωim j ωre j ω+= 其中,)(e X j ω re 和)(e X j ωim 分别是)X(e j ω的实部和虚部;还可以表示为: )(ωj j ωj ωe )X(e )X(e θ= 其中,)X(e j ω 和}arg{)()X(e j ω=ωθ分别是)X(e j ω的幅度函数和相位函数; 它们都是ω的实函数,也是以π2为周期的周期函数。 序列x[n]的N 点DFT 定义: ∑∑-=-=-===10 1 22][][)(][N n kn N N n kn N j k N j W n x e n x e X k X ππ ][k X 是周期为N 的序列。 )X(e j ω与][k X 的关系:][k X 是对)X(e j ω在一个周期中的谱的等间隔N 点采样,即: k N j ω)X(e k X πω2| ][= =, 而)X(e j ω 可以通过对][k X 内插获得,即:

]2/)1)][(/2([1 ) 22sin() 22sin( ] [1----=?--= ∑N N k j N k j ω e N k N k N k X N )X(e πωπωπω (二) 线性时不变离散时间系统的变换域表示: LTI 离散时间系统的时域差分方程为: ∑∑==-=-M k k N k k k n x p k n y d )()( (1) 传递函数: 对上面的差分方程两边求z 变换,得: ∑∑∑∑=-=-=-=-=? =N k k k M k k k M k k k N k k k z d z p z X z Y z p z X z d z Y 0 00 ) () ()()( 我们定义LTI 离散时间系统的输出的Z 变换Y(z)与输入的Z 变换X(z)的比值为该系统的传递函数,即) () ()(z X z Y z H = 为系统的传递函数。 N N M M z d z d d z p z p p z D z p z H ----++++++= =......)()()(110110 分解因式 ∏-∏-=∑∑= =-=-=-=-N i i M i i N i i k M i i k z z K z d z p z H 11 11 0)1()1()(λξ ,其中i ξ和i λ称为零、极点。 利用系统的传递函数)(z H ,我们可以分析系统的零极点,稳定性及实现结构等特点。 (2) 频率响应: 因为大多数离散时间信号都可以分解为n j e ω的线性组合,所以研究输入n j e ω-的响应具有极大的意义,即当输入为n j e n x ω=][时,输出为: )()()(][) (ωωωωωj n j m m j n j m n j m e H e e m h e e m h n y === ∑∑∞ -∞ =--∞ -∞ = 这里,∑∞-∞ =-= n n j j e n h e H ωω )()(是h(n)的DTFT ,称为LTI 离散时间系统的频率

《离散时间信号的表示及运算》

实验一 离散时间信号的表示及运算 一、实验目的 1.掌握离散时间信号的时域表示; 2.掌握离散时间信号的基本运算; 3.用MA TLAB 表示的常用离散时间信号及其运算; 4.掌握用MA TLAB 描绘二维图形的方法。 二、实验原理 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。离散时间信号的波形绘制在MATLAB 中一般用stem 函数。 对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB 的点乘和点除、序列移位和反折来实现。 一些常用序列 1.单位冲激序列(单位抽样))(n δ ?? ?≠==0,00,1)(n n n δ (1) 2.单位阶跃序列)(n u ???=,,01)(n u 00<≥n n (2) 3.矩形序列)(n R N ???=,,01)(n R N 其他10-≤≤N n (3) 4.正弦序列和指数序列 正弦序列 )s i n ()(0?ω+=n A n x (4) 式中:A 为幅度,0ω为数字域的频率,它反映了序列变化的速率,?为起始相位。 实指数序列 )()(n u a n x n = (5)

式中,a 为实数。当1a 时,序列是发散的。a 为负数时,序列是摆动的。 复指数序列 n j e n x )(0)(ωσ+= (6) 它具有实部和虚部,0ω是复正弦的数字域频率。 三、实验内容 1.用Matlab 编制程序分别产生单位抽样序列)(n δ、单位阶跃序列)(n u 、矩形序列)()(5n R n x =、正弦序列)8 sin(2)(n n x π=、复指数序列n j e n x )641()(π+=,并画波形图; 绘制)(n δ波形 绘制n j e n x ][)()2.01.0(π+-=的实部和虚部的波形。

实验1-多种离散时间信号产生

实 验 报 告 一、实验室名称:数字信号处理实验室 二、实验项目名称:多种离散时间信号的产生 三、实验原理: 1、基本离散时间信号 利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。常见的基本信号可以简要归纳如下: (1).单位采样序列 ? ??=01)(n δ 00 ≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1(); ,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-0 1 )(k n δ ≠=n k n (2).单位阶跃序列 ? ??=01 )(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。 );,1(N ones x = (3).正弦序列 )2sin()(?π+=fn A n x 采用MATLAB 的实现方法,如:

) ***2sin(*1 :0?+=-=n f pi A x N n (4).实指数序列 n a A n x ?=)( 其中,A 、a 为实数。采用MATLAB 的实现方法,如: n a x N n .^1 :0=-= (5).复指数序列 n j e A n x )(0)(ωσ+?= 采用MATLAB 的实现方法,如: ) *)*ex p((*1 :00n j A x N n ωσ+=-= 为了画出复数信号x [n ],必须要分别画出实部和虚部,或者幅值和相角。 MATLAB 函数real 、imag 、abs 和angle 可以逐次计算出一个复数向量的这些函数。 2、基本数字调制信号 (1).二进制振幅键控(2ASK ) 最简单的数字调制技术是振幅键控(ASK ),即二进制信息信号直接调制模拟载波的振幅。二进制幅度键控信号的时域表达式: ∑-=n c s n ASK t nT t g a t S ωcos )]([)( 其中,a n 为要调制的二进制信号,g (t)是单极性脉冲信号的时间波形,Ts 表示调制的信号间隔。典型波形如下:

实验一离散时间信号与系统分析

实验一 离散时间信号与系统分析 一、实验目的 1.掌握离散时间信号与系统的时域分析方法。 2.掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。 3.熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。 二、实验原理 1.离散时间系统 一个离散时间系统是将输入序列变换成输出序列的一种运算。若以][?T 来表示这种运算,则一个离散时间系统可由下图来表示: 图 离散时间系统 输出与输入之间关系用下式表示 )]([)(n x T n y = 离散时间系统中最重要、最常用的是线性时不变系统。 2.离散时间系统的单位脉冲响应 设系统输入)()(n n x δ=,系统输出)(n y 的初始状态为零,这是系统输出用)(n h 表示,即)]([)(n T n h δ=,则称)(n h 为系统的单位脉冲响应。 可得到:)()()()()(n h n x m n h m x n y m *=-= ∑∞ -∞= 该式说明线性时不变系统的响应等于输入序列与单位脉冲序列的卷积。 3.连续时间信号的采样 采样是从连续信号到离散时间信号的过渡桥梁,对采样过程的研究不仅可以了解采样前后信号时域何频域特性发生的变化以及信号内容不丢失的条件,而且有助于加深对拉氏变换、傅氏变换、Z 变换和序列傅氏变换之间关系的理解。 对一个连续时间信号进行理想采样的过程可以表示为信号与一个周期冲激脉冲的乘 积,即:)()()(?t t x t x T a a δ=

其中,)(?t x a 是连续信号)(t x a 的理想采样,)(t T δ是周期冲激脉冲 ∑∞ -∞=-= m T mT t t )()(δδ 设模拟信号)(t x a ,冲激函数序列)(t T δ以及抽样信号)(?t x a 的傅立叶变换分别为)(Ωj X a 、)(Ωj M 和)(?Ωj X a ,即 )]([)(t x F j X a a =Ω )]([)(t F j M T δ=Ω )](?[)(?t x F j X a a =Ω 根据连续时间信号与系统中的频域卷积定理,式(2.59)表示的时域相乘,变换到频域为卷积运算,即 )]()([21)(?Ω*Ω=Ωj X j M j X a a π 其中 ?∞ ∞ -Ω-==Ωdt e t x t x F j X t j a a a )()]([)( 由此可以推导出∑∞-∞=Ω-Ω=Ωk s a a jk j X T j X )(1)(? 由上式可知,信号理想采样后的频谱是原来信号频谱的周期延拓,其延拓周期等于采样频率。根据香农定理,如果原信号是带限信号,且采样频率高于原信号最高频率的2倍,则采样后的离散序列不会发生频谱混叠现象。 4.有限长序列的分析 对于长度为N 的有限长序列,我们只观察、分析在某些频率点上的值。 ???-≤≤=n N n n x n x 其它010),()( 一般只需要在π2~0之间均匀的取M 个频率点,计算这些点上的序列傅立叶变换: ∑-=-=1 0)()(N n jn j k k e n x e X ωω 其中,M k k /2πω=,1,,1,0-=M k 。)(ωj e X 是一个复函数,它的模就是幅频特 性曲线。 三、主要实验仪器及材料

离散时间信号与系统

实验:离散时间信号与系统的时域分析 一、实验目的 1、熟悉和掌握常用的用于信号与系统时域仿真分析的MA TLAB函数; 2、掌握离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MA TLAB编程; 3、牢固掌握系统的单位序列响应的概念,掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。 基本要求:掌握用MATLAB描述离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。掌握线性时不变离散系统的时域数学模型用MATLAB描述的方法,掌握线性常系数差分方程的求解编程。 二、实验原理 信号(Signal)一般都是随某一个或某几个独立变量的变化而变化的,例如,温度、压力、声音,还有股票市场的日收盘指数等,这些信号都是随时间的变化而变化的,还有一些信号,例如在研究地球结构时,地下某处的密度就是随着海拔高度的变化而变化的。一幅图片中的每一个象素点的位置取决于两个坐标轴,即横轴和纵轴,因此,图像信号具有两个或两个以上的独立变量。 在《信号与系统》课程中,我们只关注这种只有一个独立变量(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time variable),不管这个独立变量是否是时间变量。 在自然界中,大多数信号的时间变量都是连续变化的,因此这种信号被称为连续时间信号(Continuous-Time Signals)或模拟信号(Analog Signals),例如前面提到的温度、压力和声音信号就是连续时间信号的例子。但是,还有一些信号的独立时间变量是离散变化的,这种信号称为离散时间信号。前面提到的股票市场的日收盘指数,由于相邻两个交易日的日收盘指数相隔24小时,这意味着日收盘指数的时间变量是不连续的,因此日收盘指数是离散时间信号。 而系统则用于对信号进行运算或处理,或者从信号中提取有用的信息,或者滤出信号中某些无用的成分,如滤波,从而产生人们所希望的新的信号。系统通常是由若干部件或单元组成的一个整体(Entity)。系统可分为很多不同的类型,例如,根据系统所处理的信号的不同,系统可分为连续时间系统(Continuous-time system)和离散时间系统(Discrete-time system),根据系统所具有的不同性质,系统又可分为因果系统(Causal system)和非因果系统(Noncausal system)、稳定系统(Stable system)和不稳定系统(Unstable system)、线性系统(Linear system)和非线性系统(Nonlinear system)、时变系统(Time-variant system)和时不变系统(Time-invariant system)等等。 然而,在信号与系统和数字信号处理中,我们所分析的系统只是所谓的线性时不变系统,这种系统同时满足两个重要的基本性质,那就是线性性和时不变性,通常称为线性时不变(LTI)系统。 1. 信号的时域表示方法 1.1将信号表示成独立时间变量的函数

离散时间信号期末试题

一、单项选择题(本大题共10小题,每小题2分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 第一 2.若一线性移不变系统当输入为x(n)=δ(n)时输出为y(n)=R3(n),则当输入为u(n)-u(n-2)时输出为( c )。 A.R3(n) B.R2(n) C.R3(n)+R3(n-1) D.R2(n)+R2(n-1) 3.下列哪一个单位抽样响应所表示的系统不是因果系统?( d ) A.h(n)=δ(n) B.h(n)=u(n) C.h(n)=u(n)-u(n-1) D.h(n)=u(n)-u(n+1) 4.离散系统的差分方程为y(n)=x(n)+ay(n-1),则系统的频率响应( a )。 A.当|a|<1时,系统呈低通特性 B.当|a|>1时,系统呈低通特性 C.当0

实验一-离散时间信号分析

实验一 离散时间信号分析 一、实验目的 1. 初步掌握 Matlab 的使用,掌握编写M 文件和函数文件 2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。 3. 掌握生成及绘制数字信号波形的方法。 4. 掌握序列的基本运算及实现方法。 5. 研究信号采样时采样定理的应用问题。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列{x (n )}来表示,其中x (n )代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为-∞< n<+∞的整数,n 取其它值x (n )没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号x a (t ) 进行等间隔采样,采样间隔为T ,得到{x (nT )} a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)δ (n )、单位阶跃序列u (n )、矩形序列R N (n ) 、 实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 y(n)=∑x (m )h (n ?m )+∞m=?∞=x(n)*h(n) 上式的运算关系称为卷积运算,式中* 代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4 个步骤。 (1)反褶:先将x (n )和h (n )的变量n 换成m ,变成x (m )和h (m ),再将h (m )以纵 轴为对称轴反褶成h (-m )。 (2)移位:将h (-m )移位n ,得h (n- m )。当n 为正数时,右移n 位;当n 为负数时, 左移n 位。 (3)相乘:将h (n -m )和x (m )的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得y (n )。 三、主要实验仪器及材料 PC 机、Matlab7.0。

相关文档
最新文档