目录

  • 1 第1章 绪论
    • 1.1 数字信号处理定义
    • 1.2 数据信号处理的特点
    • 1.3 数字信号处理系统的基本组成
    • 1.4 数字信号处理的应用领域
  • 2 第2章  离散时间信号和离散时间系统
    • 2.1 第2章  离散时间信号和离散时间系统-概述
    • 2.2 离散时间信号-数字序列
    • 2.3 离散时间系统
    • 2.4 离散时间信号和系统的频域描述
    • 2.5 信号的取样
    • 2.6 Z变换
    • 2.7 系统函数
    • 2.8 全通系统与最小相位系统
    • 2.9 Matlab在离散时间信号和系统分析中的应用
  • 3 离散傅里叶变换及其快速算法
    • 3.1 离散傅里叶级数及其性质
    • 3.2 离散傅里叶变换及其性质、利用循环卷积计算线性卷积
    • 3.3 快速傅里叶变换(FFT)、N为合数的FFT算法
    • 3.4 快速傅里叶变换的应用
  • 4 数字滤波器的原理和设计方法
    • 4.1 无限冲击响应(IIR)(FIR)数字滤波器的基本网络结构
    • 4.2 IIR数字滤波器的设计方法
    • 4.3 FIR数字滤波器的设计方法
  • 5 数字信号处理中的有限字长效应分析
    • 5.1 有限字长效应引起的误差
Matlab在离散时间信号和系统分析中的应用

2.9 Matlab在离散时间信号和系统分析中的应用


.

%单位冲击序列 

function[x,n]=impseq(n0,n1,n2)

n=[n1:n2];

x=[(n-n0)==0];

stem(n,x);

%单位阶跃序列

function[x,n]=stepseq(n0,n1,n2)

n=[n1:n2];l x=[(n-n0)>=0];

% 噪声干扰的余弦信号 x(n)=cos(0.04n*PI)+0.2w(n)

n=[0:100];

x=cos(0.04*pi*n)+0.2*randn(size(n));

subplot(2,1,1);plot(n,x);xlabel('n');ylabel('x(n)');

subplot(2,1,2);stem(n,x);xlabel('n');ylabel('x(n)');

2.28 设某因果系统如下列差分方程描述

计算该系统的冲击响应和单位阶跃响应。

解:

%输入差分方程系数

b=[1];a=[1,-0.8,0.5];

%计算冲击响应

x=impseq(0,0,20);n=[0:20];

h=filter(b,a,x);

subplot(2,1,1);stem(n,h);title('冲击响应');

xlabel('n');ylabel('h(n)');

%计算阶跃响应

x=stepseq(0,0,20);

s=filter(b,a,x);

subplot(2,1,2);stem(n,s);title('阶跃响应');

xlabel('n');ylabel('s(n)');

%求极点模,判断稳定性

2.29 某因果系统如下列差分方程描述

计算该系统的冲击响应和对输入x的响应。

解:

%输入差分方程系数

b=[1,0.5];a=[1,-0.8,0.6];

%计算冲击响应

x=impseq(0,0,20);n=[0:20];

h=filter(b,a,x);

subplot(2,1,1);stem(n,h);title('冲击响应');

xlabel('n');ylabel('h(n)');

%计算对x(n)的响应

n=0:10;x=(0.8).^n;nx=[0:10];nh=[0:20];

y=conv(x,h);ny=length(y);

n=0:ny-1;

subplot(2,1,2);stem(n,y);title('系统对x(n)的响应');

xlabel('n');ylabel('y(n)');

%求极点模,判断稳定性


2.30 设信号

用MatLab计算DTFT,并画图表示。

解:

%计算序列DTFT

%输入序列

n=-1:3;x=1:5;

%在横轴上分点

k=0:500;w=(pi/500)*k;

%计算DTFT

X=x*(exp(-j*pi/500)).^(n'*k);

magX=abs(X);angX=angle(X);

subplot(2,1,1);plot(w/pi,magX);title('幅度响应');grid;

ylabel('幅度');xlabel('以PI为单位的频率');

subplot(2,1,2);plot(w/pi,angX);title('相位响应');grid;

ylabel('相位/\pi');xlabel('以PI为单位的相位');

2.32 用Matlab求z变换的反变换


解:

%部分分式法求逆z变换

b=[1,-0.5];a=[1,0.75,0.125];

[R,P,C]=residuez(b,a);

disp('R=');disp(R');

disp('P=');disp(P');

disp('C=');disp(C');


R=

4    -3

P=

-0.5000   -0.2500

C=

>> 

2.33 用Matlab求z变换的反变换


解:

%部分分式法求逆z变换

b=[1,-0.5,0.5,1];

a=[1,-3,2];

[R,P,C]=residuez(b,a);

disp('R=');disp(R');

disp('P=');disp(P');

disp('C=');disp(C');


R=

2    -2

P=

2     1

C=

1.0000

0.5000