信号与系统硬件实验

关键词:

信号与系统硬件实验(精选6篇)

篇1:信号与系统硬件实验

1、的话音频率一般为300~3400HZ,若对其采样且使信号不失真,其最小的采样频率应为多大?若采用8KHZ的采样频率,并采用8bit的PCM编码,则存储一秒钟的信号数据量有多

大?(仕兰微面试题目)

2、什么耐奎斯特定律,怎么由模拟信号转为数字信号。(华为面试题)

3、如果模拟信号的带宽为 5khz,要用8K的采样率,怎么办?(lucent)两路?

4、信号与系统:在时域与频域关系。(华为面试题)

5、给出时域信号,求其直流分量。(未知)

6、给出一时域信号,要求(1)写出频率分量,(2)写出其傅立叶变换级数;(3)当波形经过低通滤波器滤掉高次谐波而只保留一次谐波时,画出滤波后的输出波形。(未知)

7、sketch 连续正弦信号和连续矩形波(都有图)的傅立叶变换。(Infineon笔试试题)

8、拉氏变换和傅立叶变换的表达式及联系。(新太硬件面题)

篇2:信号与系统硬件实验

常见信号得MATLAB 表示及运算 一、实验目得 1。熟悉常见信号得意义、特性及波形 2.学会使用 MATLAB 表示信号得方法并绘制信号波形 3、掌握使用MATLAB 进行信号基本运算得指令 4、熟悉用MATLAB 实现卷积积分得方法 二、实验原理 根据MATLAB 得数值计算功能与符号运算功能,在 MATLAB中,信号有两种表示方法,一种就是用向量来表示,另一种则就是用符号运算得方法。在采用适当得 MATLAB 语句表示出信号后,就可以利用 MATLAB中得绘图命令绘制出直观得信号波形了。

1、连续时间信号

从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB 中,就是用连续信号在等时间间隔点上得样值来近似表示得,当取样时间间隔足够小时,这些离散得样值就能较好地近似出连续信号。在 MATLAB 中连续信号可用向量或符号运算功能来表示。

向量表示法 对于连续时间信号,可以用两个行向量 f 与 t 来表示,其中向量 t 就是用形如得命令定义得时间范围向量,其中,为信号起始时间,为终止时间,p 为时间间隔。向量 f 为连续信号在向量 t所定义得时间点上得样值. ⑵

符号运算表示法 如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍得符号函数专用绘图命令 ezplot()等函数来绘出信号得波形。

得 常见信号得 M ATLA B表示

单位阶跃信号 单位阶跃信号得定义为:

方法一:

调用 H eaviside(t)函数 首先定义函数 Heaviside(t)得m函数文件,该文件名应与函数名同名即Heaviside、m.%定义函数文件,函数名为 Heaviside,输入变量为 x,输出变量为y function y= Heaviside(t)

y=(t>0);

%定义函数体,即函数所执行指令 %此处定义t>0 时 y=1,t<=0 时y=0,注意与实际得阶跃信号定义得区别.方法二:数值计算法 在MATLAB 中,有一个专门用于表示单位阶跃信号得函数,即 s te pfun()函数,它就是用数值计算法表示得单位阶跃函数.其调用格式为: st epfun(t,t0)

其中,t 就是以向量形式表示得变量,t0 表示信号发生突变得时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣得就是它同时还可以表示单位阶跃序列,这只要将自变量以及

取样间隔设定为整数即可。

符号函数 符号函数得定义为:

在 MATLAB 中有专门用于表示符号函数得函数 s ign(),由于单位阶跃信号(t)与符号函数两者之间存在以下关系:,因此,利用这个函数就可以很容易地生成单位阶跃信号.2、离散时间信号 离散时间信号又叫离散时间序列,一般用 表示,其中变量 k 为整数,代表离散得采样时间点(采样次数)。

在 MATLAB中,离散信号得表示方法与连续信号不同,它无法用符号运算法来表示,而只能采用数值计算法表示,由于 MATLAB 中元素得个数就是有限得,因此,MATLAB无法表示无限序列;另外,在绘制离散信号时必须使用专门绘制离散数据得命令,即 stem(()函数,而不能用plot()函数。

单位序列

单位序列)得定义为

单位阶跃序列 单位阶跃序列得定义为 3、卷积积分 两个信号得卷积定义为:

MATLAB 中就是利用 conv 函数来实现卷积得.功能:实现两个函数与得卷积.格式:g=conv(f1,f2)

说明:f1=f 1(t),f2=f 2(t)

表示两个函数,g=g(t)表示两个函数得卷积结果。

三、实验内容 1、分别用 MATLAB得向量表示法与符号运算功能,表示并绘出下列连续时间信号得波形:

(1)

t=-1:0、01:10;t1=-1:0、01:-0、01;t2=0:0、01:10; f1=[zeros(1,length(t1)),ones(1,length(t2))];f=(2—exp(-2*t))、*f1; plot(t,f)axis([-1,10,0,2、1])

syms t;f=sym(’(2-exp(—2*t))*heaviside(t)“); ezplot(f,[-1,10]);

(2)t=—2:0、01:8; f=0、*(t<0)+cos(pi*t/2)、*(t>0&t〈4)+0、*(t〉4);plot(t,f)

syms t;f=sym(”cos(pi*t/2)*[heaviside(t)—heaviside(t—4)] “);ezplot(f,[-2,8]);

2、分别用 MATLAB 表示并绘出下列离散时间信号得波形:

(2)

t=0:8; t1=—10:15; f=[zeros(1,10),t,zeros(1,7)];stem(t1,f)axis([—10,15,0,10]);

(3)t=0:50;t1=—10:50; f=[zeros(1,10),sin(t*pi/4)];stem(t1,f)

axis([—10,50,—2,2])

3、已知两信号,求卷积积分,并与例题比较。

t1=—1:0、01:0; t2=0:0、01:1;t3=—1:0、01:1; f1=ones(size(t1));f2=ones(size(t2));g=conv(f1,f2); subplot(3,1,1),plot(t1,f1); subplot(3,1,2),plot(t2,f2);subplot(3,1,3),plot(t3,g);

与例题相比较,g(t)得定义域不同,最大值对应得横坐标也不同。

4、已知,求两序列得卷积与 .N=4;M=5; L=N+M—1; f1=[1,1,1,2]; f2=[1,2,3,4,5];g=conv(f1,f2); kf1=0:N-1; kf2=0:M-1;kg=0:L—1;subplot(1,3,1),stem(kf1,f1,’*k’);xlabel(”k“); ylabel(’f1(k)”);grid on subplot(1,3,2),stem(kf2,f2,’*k“);xlabel('k’);ylabel(”f2(k)’);grid on subplot(1,3,3);stem(kg,g,'*k’);xlabel('k“); ylabel(”g(k)');grid on

实验心得:第一次接触 Mutlab 这个绘图软件,觉得挺新奇得,同时 ,由于之前不太学信号与系统遇到一些不懂得问题,结合这些图对信号与系统有更好得了解。

实验四

连续时间信号得频域分析 一、实验目得 1。熟悉傅里叶变换得性质 2.熟悉常见信号得傅里叶变换 3。了解傅里叶变换得MATLAB 实现方法 二、实验原理 从已知信号求出相应得频谱函数得数学表示为:

傅里叶反变换得定义为:

在 MATLAB中实现傅里叶变换得方法有两种,一种就是利用 MATLAB 中得 Sy mbo lic Math Too lbox 提供得专用函数直接求解函数得傅里叶变换与傅里叶反变换,另一种就是傅里叶变换得数值计算实现法.1、直接调用专用函数法 ①在 MATLAB 中实现傅里叶变换得函数为:

F=fourier(f)

对f(t)进行傅里叶变换,其结果为 F(w)

F=fourier(f,v)

对 f(t)进行傅里叶变换,其结果为F(v)

F=fourier(f,u,v)

对f(u)进行傅里叶变换,其结果为 F(v)②傅里叶反变换

f=ifourier(F)

对 F(w)进行傅里叶反变换,其结果为 f(x)

f=ifourier(F,U)

对F(w)进行傅里叶反变换,其结果为f(u)

f=ifourier(F,v,u)

对F(v)进行傅里叶反变换,其结果为 f(u)

注意:

(1)在调用函数 fourier()及 ifourier()之前,要用 syms 命令对所有需要用到得变量(如 t,u,v,w)等进行说明,即要将这些变量说明成符号变量。对fourier()中得 f 及ifourier()中得 F 也要用符号定义符 sym 将其说明为符号表达式。

(2)采用 fourier()及 fourier()得到得返回函数,仍然为符号表达式。在对其作图时要用 ezplot()函数,而不能用plot()函数.(3)fourier()及fourier()函数得应用有很多局限性,如果在返回函数中含有 δ(ω)等函数,则 ezplot()函数也无法作出图来。另外,在用 fourier()函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达得式子,则此时当然也就无法作图了。这就是fourier()函数得一个局限。另一个局限就是在很多场合,尽管原时间信号 f(t)就是连续得,但却不能表示成符号表达式,此时只能应用下面介绍得数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求得频谱函数只就是一种近似值。

2、傅里叶变换得数值计算实现法 严格说来,如果不使用 symbolic 工具箱,就是不能分析连续时间信号得。采用数值计算方法实现连续时间信号得傅里叶变换,实质上只就是借助于MATLAB 得强大数值计算功能,特别就是其强大得矩阵运算能力而进行得一种近似计算。傅里叶变换得数值计算实现法得原理如下: 对于连续时间信号 f(t),其傅里叶变换为:

其中 τ 为取样间隔,如果 f(t)就是时限信号,或者当|t|大于某个给定值时,f(t)得值已经衰减得很厉害,可以近似地瞧成就是时限信号,则上式中得n取值就就是有限得,假定为 N,有:

若对频率变量 ω 进行取样,得:

通常取:,其中就是要取得频率范围,或信号得频带宽度。采用 MATLAB 实现上式时,其要点就是要生成 f(t)得N个样本值得向量,以及向量,两向量得内积(即两矩阵得乘积),结果即完成上式得傅里叶变换得数值计算。

注意:时间取样间隔 τ 得确定,其依据就是 τ 必须小于奈奎斯特(Nyquist)取样间隔。如果 f(t)不就是严格得带限信号,则可以根据实际计算得精度要求来确定一个适当得频率为信号得带宽。

三、实验内容 1、编程实现求下列信号得幅度频谱(1)

求出得频谱函数 F 1(jω),请将它与上面门宽为 2 得门函数得频谱进行比较,观察两者得特点,说明两者得关系。

(2)三角脉冲

(3)单边指数信号

(4)

高斯信号

(1)

syms t w

Gt=sym(“Heaviside(2*t+1)—Heaviside(2*t-1)’);

Fw=fourier(Gt,t,w);

FFw=maple(’convert’,Fw,’piecewise”);

FFP=abs(FFw);

ezplot(FFP,[—10*pi 10*pi]);grid;

axis([-10*pi 10*pi 0 2、2])

与得频谱比较,得频谱函数 F 1(jω)最大值就是其得1/2.(2)syms t w;Gt=sym(“(1+t)*(Heaviside(t+1)—Heaviside(t))+(1-t)*(Heaviside(t)—Heaviside(t—1))”);Fw=fourier(Gt,t,w);

FFw=maple(“convert',Fw,’piecewise”);

FFP=abs(FFw);

ezplot(FFP,[—10*pi 10*pi]);grid;

axis([—10*pi 10*pi 0 2、2])

(3)syms t w

Gt=sym(’exp(-t)*Heaviside(t)’);

Fw=fourier(Gt,t,w);

FFw=maple(“convert”,Fw,’piecewise’);

FFP=abs(FFw);

ezplot(FFP,[—10*pi 10*pi]);grid;

axis([—10*pi 10*pi —1 2])

(4)syms t w

Gt=sym(’exp(-t^2)“);

Fw=fourier(Gt,t,w);

FFw=maple('convert’,Fw,’piecewise’);

ezplot(FFw,[-30 30]);grid;

axis([—30 30 —1 2])

2、利用 ifourier()函数求下列频谱函数得傅氏反变换(1)

(2)

(1)syms t w

Fw=sym(’-i*2*w/(16+w^2)’);

ft=ifourier(Fw,w,t);

ft 运行结果: ft = —exp(4*t)*heaviside(—t)+exp(—4*t)*heaviside(t)(2)

syms t w

Fw=sym(”((i*w)^2+5*i*w-8)/((i*w)^2+6*i*w+5)’);

ft=ifourier(Fw,w,t);

ft 运行结果: ft = dirac(t)+(-3*exp(-t)+2*exp(-5*t))*heaviside(t)实验 心得 matlab 不但具有数值计算能力,还能建模仿真,能帮助我们理解不同时间信号得频域分析。

实验五 连续时间系统得频域分析 一、实验目得 1.学习由系统函数确定系统频率特性得方法.2.学习与掌握连续时间系统得频率特性及其幅度特性、相位特性得物理意义.3.通过本实验了解低通、高通、带通、全通滤波器得性能及特点。

二、实验原理及方法 频域分析法与时域分析法得不同之处主要在于信号分解得单元函数不同。在频域分析法中,信号分解成一系列不同幅度、不同频率得等幅正弦函数,通过求取对每一单元激励产生得响应,并将响应叠加,再转换到时域以得到系统得总响应。所以说,频域分析法就是一种变域分析法.它把时域中求解响应得问题通过 Fourier 级数或 Fourier 变换转换成频域中得问题;在频域中求解后再转换回时域从而得到最终结果.在实际应用中,多使用另一种变域分析法:复频域分析法,即 Laplace 变换分析法。

所谓频率特性,也称频率响应特性,就是指系统在正弦信号激励下稳态响应随频率变化得情况,包括幅度随频率得响应与相位随频率得响应两个方面.利用系统函数也可以确定系统频率特性,公式如下:

幅度响应用表示,相位响应用表示。

本实验所研究得系统函数 H(s)就是有理函数形式,也就就是说,分子、分母分别就是 m、n 阶多项式。

要计算频率特性,可以写出

为了计算出、得值,可以利用复数三角形式得一个重要特性:

而,则 利用这些公式可以化简高次幂,因此分子与分母得复数多项式就可以转化为分别对实部与虚部得实数运算,算出分子、分母得实部、虚部值后,最后就可以计算出幅度、相位得值了。

三、实验内容 a),m 取值区间 [0,1],绘制一组曲线 m=0、1,0、3,0、5,0、7,0、9;b)绘制下列系统得幅频响应对数曲线与相频响应曲线,分析其频率特性.(1)

(2)

(3)

a)% design2、m

figure

alpha=[0、1,0、3,0、5,0、7,0、9];

colorn=['r’ ’g’ ’b“ ’y” “k'];

%

r g b y m c k(红,绿,蓝,黄,品红,青,黑)

for n=1:5

b=[0 alpha(n)];

% 分子系数向量

a=[alpha(n)-alpha(n)^2 1];

% 分母系数向量

printsys(b,a,”s“)

[Hz,w]=freqs(b,a);

w=w、/pi;

magh=abs(Hz);

zerosIndx=find(magh==0);

magh(zerosIndx)=1;

magh=20*log10(magh);

magh(zerosIndx)=-inf;

angh=angle(Hz);

angh=unwrap(angh)*180/pi;

subplot(1,2,1)

plot(w,magh,colorn(n));

hold on

subplot(1,2,2)

plot(w,angh,colorn(n));

hold on

end

subplot(1,2,1)

hold off

xlabel(”特征角频率(timespi rad/sample)“)

title('幅频特性曲线 |H(w)|(dB)”);

subplot(1,2,2)

hold off

xlabel(’特征角频率(timespi rad/sample)’)

title(“相频特性曲线 theta(w)(degrees)’);

b)(1)% design1、m b=[1,0];

% 分子系数向量 a=[1,1];

% 分母系数向量 printsys(b,a,”s’)[Hz,w]=freqs(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0); magh(zerosIndx)=1; magh=20*log10(magh);

% 以分贝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;

% 角度换算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(’特征角频率(timespi rad/sample)')title(’幅频特性曲线 |H(w)|(dB)’); subplot(1,2,2)plot(w,angh);grid on xlabel(’特征角频率(times\pi rad/sample)’)title(’相频特性曲线 \theta(w)

(degrees)’);

(2)

% design1、m b=[0,1,0];

% 分子系数向量 a=[1,3,2];

% 分母系数向量 printsys(b,a,’s’)[Hz,w]=freqs(b,a);w=w、/pi; magh=abs(Hz);zerosIndx=find(magh==0); magh(zerosIndx)=1; magh=20*log10(magh);

% 以分贝 magh(zerosIndx)=-inf; angh=angle(Hz);angh=unwrap(angh)*180/pi;

% 角度换算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(“特征角频率(\times\pi rad/sample)')

title(’幅频特性曲线 |H(w)|(dB)’);subplot(1,2,2)plot(w,angh); grid on xlabel(”特征角频率(\times\pi rad/sample)“)title(”相频特性曲线 theta(w)(degrees)’);

(3)

% design1、m b=[1,-1];

% 分子系数向量 a=[1,1];

% 分母系数向量 printsys(b,a,“s”)[Hz,w]=freqs(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);

% 以分贝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;

% 角度换算 figure subplot(1,2,1)

plot(w,magh); grid on xlabel(’特征角频率(timespi rad/sample)“)

title(”幅频特性曲线 |H(w)|(dB)’);subplot(1,2,2)plot(w,angh);grid on xlabel(’特征角频率(times\pi rad/sample)')title(’相频特性曲线 theta(w)

(degrees)“);

实验心得: :虽然之前用公式转换到频域上分析,但就是有时会觉得挺抽象得,不太好理解。根据这些图像结合起来更进一步对信号得了解。同时,这个在编程序时,虽然遇到一些问题,但就是总算解决了。

实验六

离散时间系统得 Z 域分析 一、实验目得 1.学习与掌握离散系统得频率特性及其幅度特性、相位特性得物理意义。

2.深入理解离散系统频率特性与对称性与周期性。

3.认识离散系统频率特性与系统参数之间得系统 4.通过阅读、修改并调试本实验所给源程序,加强计算机编程能力。

二、

实验原理及方法 对于离散时间系统,系统单位冲激响应序列得 Fourier 变换完全反映了系统自身得频率特性,称为离散系统得频率特性,可由系统函数求出,关系式如下:

(6 – 1)由于就是频率得周期函数,所以系统得频率特性也就是频率得周期函数,且周期为,因此研究系统频率特性只要在范围内就可以了.       n n nj jn n h j n n h e n h e H)sin()()cos()()()(  

(6 – 2)容易证明,其实部就是得偶函数,虚部就是得奇函数,其模得得偶函数,相位就是得奇函数。因此研究系统幅度特性、相位特性,只要在范围内讨论即可。

综上所述,系统频率特性具有周期性与对称性,深入理解这一点就是十分重要得。

当离散系统得系统结构一定,它得频率特性将随参数选择得不同而不同,这表明了系统结构、参数、特性三者之间得关系,即同一结构,参数不同其特性也不同。

例如,下图所示离散系统,其数学模型由线性常系数差分方程描述:

系统函数: 系统函数频率特性:

幅频特性: 相频特性:

容易分析出,当时系统呈低通特性,当时系统呈高通特性;当时系统呈全通特性.同时说明,在系统结构如图所示一定时,其频率特性随参数 a 得变化而变化.三、实验内容 a)。

b)c)a)% design1、m b=[1,0,-1];

% 分子系数向量 a=[1,0,—0、81];

% 分母系数向量 printsys(b,a,”z“)[Hz,w]=freqz(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);

% 以分贝 magh(zerosIndx)=-inf; angh=angle(Hz); angh=unwrap(angh)*180/pi;

% 角度换算 figure subplot(1,2,1)

plot(w,magh);grid on xlabel(’特征角频率(timespi rad/sample)')title(’幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)plot(w,angh);grid on xlabel(“特征角频率(times\pi rad/sample)”)title('相频特性曲线 theta(w)(degrees)“);

带通

b)% design1、m b=[0、1,—0、3,0、3,-0、1];

% 分子系数向量 a=[1,0、6,0、4,0、1];

% 分母系数向量 printsys(b,a,’z”)[Hz,w]=freqz(b,a);w=w、/pi; magh=abs(Hz); zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);

% 以分贝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;

% 角度换算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(’特征角频率(timespi rad/sample)’)

title(“幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)plot(w,angh);grid on

xlabel(“特征角频率(\timespi rad/sample)’)title(”相频特性曲线 theta(w)

(degrees)’);

高通

c)% design1、m b=[1,—1,0];

% 分子系数向量 a=[1,0,0、81];

% 分母系数向量 printsys(b,a,“z’)[Hz,w]=freqz(b,a);w=w、/pi; magh=abs(Hz); zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);

% 以分贝 magh(zerosIndx)=—inf;angh=angle(Hz); angh=unwrap(angh)*180/pi;

% 角度换算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(”特征角频率(\times\pi rad/sample)')title(“幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)

plot(w,angh);

grid on xlabel(’特征角频率(\timespi rad/sample)")title(’相频特性曲线 theta(w)

(degrees)’);

带通

篇3:信号与系统硬件实验

1 信号量管理的工作原理

μC/OS-Ⅱ中信号量主要数据结构由两部分组成:(1)信号量的计数值Cnt。当数值为正时用于记录可使用的资源数,当数值为负,其绝对值表示等待当前信号量的任务个数;(2)等待该信号量的任务列表。信号量的基本数据结构需要申请一个ECB来存储。一个任务或ISR可以通过ECB向另外的任务发信号,一个任务可以等待另一个任务或中断服务子程序给它发送信号,多个任务可同时等待同一个事件的发生[3]。当事件发生后,等待该事件的优先级最高的任务进入就绪状态,触发一次任务调度[3]。任务或者中断服务子程序都可以给ECB发信号,对ECB进行操作。

信号量管理的工作原理框图如图1所示。信号量管理模块以及事件控制块管理都是独立于CPU的逻辑结构,都可以直接从数据总线上获得数据信息进行处理,在信号量管理模块与ECB的存储模块间建立一条数据通路,在不增加总线负担的情况下加快二者间的通信。这些硬件逻辑独立于CPU工作,减少了CPU的工作,从而提高系统的响应能力。

2 信号量管理的硬件设计与实现

2.1 ECB的设计与实现

ECB是实现信号量管理的基本数据结构,因此在设计实现信号量管理之前,要先完成ECB管理的设计与实现。本系统中ECB的结构参照μC/OS-Ⅱ中ECB的结构设计。每个ECB存储单元包含一个EventType(事件类型),用于标记当前ECB被分配给信号量、互斥型信号量、邮箱还是消息队列;当一个ECB被分配给信号量时,Cnt做为信号量的计数器;ECB中的等待表lut用于存储等待当前信号量任务的优先级(μC/OS-Ⅱ中没有两个任务有相同的优先级)[3]。

ECB中等待表硬件实现的结构示意图如图2所示。等待表的结构类似一个8行8列的矩阵,存储单元编号从00~77。当一个任务在申请当前信号量而没有获得时,应将当前任务设置为等待状态,令Wr有效,以申请该信号量任务的优先级为地址,进行译码,选通相应单元后再进行写1操作。例如,申请该信号量的任务优先级Sid为111111时,对其进行译码,高三位行地址译码为10000000,低三位列地址译码为10000000,选中77单元向其写入1,则优先级为111111的任务进入等待状态。若要将一个处于等待表中的任务删除,令De有效,同样,根据地址线选通某一存储单元,向单元内写0,从而删除某一处于等待状态的任务。在控制电路中设置EventGrp 8位寄存器,用于记录当前各行中是否有等待任务;如图2所示,第i行中某一位置为1,EventGrp(i)=1,图中状态EventGrp(7)=1、EventGrp(6)=1、EventGrp(0)=0。Rd有效时,控制电路根据EventGrp采用一定算法生成优先级的高三位;根据EventGrp读出某行后生成优先级低三位;下一时钟送出最高优先级。以上为对等待表进行基本读写操作的过程。

该硬件系统中ECB基本存储单元通过调用系统的IP核来实现,根据存储数据的不同,采用不同的IP核;多个基本单元通过一个上层文件生成一个ECB单元,每个单元再作为一个基本器件用于实现整个ECB的存储体。通过地址的译码选通ECB单元,根据控制信号对数据做读写操作。

2.2 创建/删除一个信号量

ECB是公共数据结构,在传统的操作系统中创建一个信号量时,首先需要申请一个ECB,初始化后才可以对这个信号量进行P/V等操作;在删除一个信号量后,要对信号量占用的ECB进行释放。创建信号量时,信号量管理模块首先要申请一个空ECB,查找ECB的整个存储体判断是否有空余的ECB。如果没有空余ECB,则信号量管理模块将获得一个申请失败信号;否则将获得一个空ECB的地址,并将其返回给创建该信号量的任务;再根据地址初始化ECB[3]。如果用硬件实现信号量管理后,按照以上过程进行操作会浪费很多时钟,数据在模块间来回传送增加通信次数,必然降低系统的执行速度。针对这个问题,提出了在信号量管理模块中设置一个用于记录ECB使用情况的映射表,如图3所示。为方便讨论,假设系统中ECB有64个(可以根据系统中ECB的个数来改变表的大小),表的每个位置对应一个ECB,当某一位置为0时表示该位置对应的ECB空闲,为1时表示该位置对应的ECB被占用。如图3所示,第1行、第8列为1,表示偏移地址为000111的ECB被占用;第2行、第2列为1,偏移地址为010010的ECB被占用。

在创建一个信号量时,查找ECB映射表,判断是否有为0的位置。如果没有则返回申请失败;否则寻找一个为0的位置,生成ECB的地址,返回给创建该信号量的任务。在映射表中相应位置写1表明该ECB已经被占用,下一时钟对申请到的ECB进行初始化,写入信号量初始值。在删除一个信号量时,首先根据信号量的ECB地址查询映射表中对应位置是否为0,如果为0,则表示该信号量已经被其他任务删除,返回删除错误;否则清除该信号量在映射表中的记录,通知ECB管理模块将等待该信号的所有任务置为就绪态,触发一次任务调度,清除ECB中的该信号量的所有信息。以上过程中不需要频繁地去ECB管理模块中进行整体查询,因此节省了大量的通信时间。

2.3 申请/释放一个信号量(P/V操作)

信号量管理中的主要操作就是P/V操作,P/V操作实现的RTL图如图4所示。

(1)P操作(申请某个信号量)。令pend_sem有效,首先应判断申请信号量的任务是否为中断服务程序(在μC/OS-Ⅱ中,中断服务程序不允许申请一个信号量),如果是则返回申请错误信息(pend_err为高),否则进行以下操作:令read_cnt有效去ECB管理模块读Cnt值;读回后判断Cnt的值。如果Cnt>0,当前申请任务获得该信号量,任务继续执行,返回申请成功信号pend_err为低;否则pend_err为高阻,根据申请类型Pend_type (申请类型在μC/OS-Ⅱ中分为有等待申请和无等待申请)来决定是否修改Cnt值,是否将申请信号量的任务置为等待态。

(2)V操作(释放某个信号量)。令post_sem有效,通过硬件电路使read_cnt有效,同时给出信号量的ECB地址,下一时钟读出Cnt值,并判断;如果Cnt>0则表示没有任务等待当前信号量,修改Cnt值;如果Cnt<0则表示当前有任务等待该信号量,修改Cnt值,令select_h有效,从ECB任务等待表中找出优先级最高的任务,通知任务管理器将该任务置为就绪态,触发一次任务调度。

3 功能仿真

为验证设计对系统性能的影响,采用ISE 8.2软件对各个模块进行时序仿真。P/V操作仿真结果如图5所示。P/V操作需要在两个模块之间进行读写数据,操作过程中,P/V信号始终有效。

(1)pend_sem有效(P操作)。申请信号量任务的优先级为01,申请信号量的地址为05。pend_sem有效,令read_cnt为高,根据地址pend_addr读当前信号量的值Cnt,下一个时钟返回数值Cnt_in为0002,大于0;任务获得信号量继续执行,wr_cnt为高,Cnt值进行减1操作后送Cnt_out写回ECB。

(2) post_sem有效(V操作)。根据地址读Cnt值,Cnt值为FFFE<0(Cnt值以补码形式存储)。下一个时钟Cnt进行加1操作后写回ECB,同时Select_h为高,从等待该信号量的任务列表中选择出优先级最高的任务设置为就绪态,触发一次任务调度。

(3)申请一个信号量。申请信号量任务的优先级为03,申请的信号量的地址为09。如果下一个时钟读回的Cnt值为FFFD<0,并且申请类型为高(有等待申请),则修改Cnt值写回,令wr_sid为高,将当前申请任务的优先级送pend_prio_out写入等待该信号的任务列表中。如果pend_err为高,则通知任务管理器将当前申请信号量的任务阻塞,并触发一次任务调度。

(4)申请一个信号量,读回的Cnt值为FFFA<0,但当前申请类型为低(无等待申请),不进行任何操作,返回申请失败,通知任务管理器将当前任务阻塞。

用户程序在创建、删除一个信号量以及申请某类共享资源进行P/V操作时,用软件实现信号量管理中,一般先从用户态转到系统态,然后进行基本数据的查询、读出、比较、判断等,再转相应的程序入口,最后还要从系统态转回用户态。而用硬件实现信号量管理后进行以上操作只需一条读或写指令,并且这条指令在用软件实现的信号量管理中也是必须的,其他操作都由硬件逻辑来实现,简化了操作过程。从仿真结果看,进行P/V操作时只需要3个时钟节拍,整体的执行速度远远高于软件。同时,RTOS中信号量的个数为多个,信号量管理在RTOS中频繁运行。因此,硬化信号量管理后对整个机器速度的提高是非常明显的,特别是对资源种类多、数量大的计算机系统,速度的提高就会更加明显。另一方面,由于硬件的可靠性远超过软件的可靠性,所以硬化后可提高RTOS的可靠性。

参考文献

[1]崔建华,孙红胜,王保进.硬件实时操作系统的设计与实现[J].计算机技术应用,2008(5):34-37.

[2]屈玉贵,赵保华,森下严.操作系统中信号量管理的固化[J].计算机应用与软件,1990(06):29-33.

篇4:信号与系统硬件实验

【关键词】优质课程 信号与系统 实验教学 体系

【中图分类号】G642 【文献标识码】A 【文章编号】1006-9682(2012)10-0010-02

高等教育“十一五”规划纲要中明确指出,21世纪的高等教育要以质量工程建设为核心。在高等教育质量工程建设中,优质课程及精品课程的建设占有极其重要的地位。“信号与系统”是工科院校开设的一门重要专业基础课,在许多高校都列为重点建设课程。[1~2]我学院针对两个一级学科(仪器科学与技术、光学工程)开设“信号与系统”课程,不仅要求充分讲授该课程的经典内容,还必须兼顾学科及专业需求,进行有特色的理论教学及实验教学。作为校级优质课程,仪器专业“信号与系统”课程长期以来持续建设,已经形成了理论教学扎实、实验教学强化的特点。但由于目前本科培养计划中学时数的限制,无法兼顾本课程理论及实验多方面的要求,往往只能采用软件仿真作为实验教学的主要内容。考虑到我校的办学定位及仪器专业应用型人才培养的需求,我们在原有理论及实验教学的基础上,开展全方位实验教学体系建设,进一步提高本课程的教学效果。

一、“信号与系统”教学内容及实验内容的演变

1.教学内容的演变

信号是信息学科研究的基本内容,信号与系统是两个用得极为广泛且密切相关的基本概念。在许多实际应用中,尤其是在信号提取、信号恢复、信号增强、语音识别等信号处理的问题中,以及在大规模集成电路的整体设计中,信号、系统、处理往往是有机结合在一起的。因此,教学内容从单纯讲信号、系统演变为信号、系统与数字信号处理融合,以信号分析为基础,以系统分析为桥梁,以处理技术为手段,形成新的教学体系,适应新的科技条件下对专业基础课的教学要求。[3~4]因此,仪器专业“信号与系统”课程的教学内容主要包括:信号与系统的基本概念、采样定理、连续及离散线性时不变系统的时域分析、连续及离散信号的频域分析(含离散傅里叶变换、快速傅里叶变换)、连续及离散信号与系统的复频域分析、数字滤波器设计等。

2.实验内容的演变

实验教学始终是为理论教学服务的,其最终的目的是为了强化理论学习,全面提高教学质量。早期“信号与系统”的实验以硬件为主,尤其是以电路实验为主。随着信息技术的不断发展和信息技术应用领域的不断扩展,这门课程已从电子信息工程类专业的专业基础课演变为众多工科专业(如计算机技术、自动控制、测控技术及仪器、生物医学工程等)的专业基础课,其实验领域也获得拓展。特别是伴随着计算机软硬件技术的快速发展,本课程实验由早期的硬件实验演变为软件仿真实验。[5]由于本课程仍然是一门实践性很强的课程,无论技术如何发展演变,信号也脱离不了实际应用中的物理系统,因此现在又强调从软件仿真实验

演变为软硬件实验结合。[6]

二、“信号与系统”实验教学计算机软硬件应用方案

“信号与系统”课程理论性强,实践性强,实验对于理论具有巩固和强化的作用。由于学时的限制,课内实验具有较大的局限性。一方面是实验数量受到局限,只能开设最基本、最重要的实验,无法进行多个理论的验证,而本课程又是一门逻辑性很强的课程,基本概念环环紧扣,实验数量少非常妨碍学生对课程基本内容的理解和掌握,从而使学生的知识面受到局限;另一方面,在实验方法上也受到局限,不能尝试多种解决问题的方法,只能用常规方法去做,这样限制了学生的思维,不利于学生综合能力的培养。目前很多学校以软件仿真实验为主,由于学时的限制以及软件仿真实验的内容十分丰富且复杂的,所以就舍弃了硬件实验。无论软件仿真怎样逼近实际,毕竟与实际物理系统存在差异。如果没有硬件实验,学生便不知道其结果应该怎样去应用,在什么情况下采用软件计算的结果为好,在什么情况下用硬件实现较好。从课程教学质量和应用型人才培养要求来看,这是一个亟待解决的严重问题。因此,计算机软硬件实验对于“信号与系统”实验体系都是不可缺少的,要两条腿走路,其关键是要完成硬件实验和软件实验的全方位比较,才能深入理解信号与系统的理论实质。

为了更好地完成辅助理论教学的任务,我们需要对本课程的实验教学体系进行精心的设计。实验教学体系的建立要从整个课程教学体系来考虑,在课堂讲授内容、学生作业内容、教学目标等方面综合权衡。在一个典型的数字信号处理系统中,输入通道中的传感器输出信号需要进行调理,属于物理系统部分,硬件实现比较好;数字信号处理部分可以采用单片机、数字信号处理器、计算机等硬件设备,同时利用硬件平台上的软件来完成数字信号处理任务,这部分以软件仿真实验为好,而在输出通道需要进行必要的信号变换并输出模拟信号,还是硬件实验较好。本课程采用的实验教学体系,见图1。

在课内实验安排方面:实验内容强调经典、重要、基本,少而精,始终抓住信号产生→获取→处理→使用这条主线,不仅有利于教学安排,而且保证学生基础牢固,知识更系统,理解更全面。课内实验以软件仿真为核心,其编程软件采用公认的优秀软件,即MATLAB。MATLAB是优秀的科学计算和仿真软件,研究设计单位和工业部门同样公认它的重要价值。如美国NI公司的信号测量与分析软件LabVIEW、Cadence公司的信号和通信分析设计软件、TI公司的DSP等都和MATLAB具有良好的接口。现在的计算机硬件(PC机)配置很高,计算精度很高,用于进行数字信号处理和数字图像处理十分理想,结果显示也很直观。

篇5:信号与系统实验感想

时光飞逝,转眼间,我们的信号与系统实验结束了。回首这一段时光,收获了不少,也为这段实验学习画上了一个圆满的句号。在这段时间里,我们遇到了不少的困难,不过有老师与同学们的互相帮助,我们克服千难万险,总算完成了老师下达的任务。

通过学习并亲身体验这门课程,我觉得这是一门非常有意义的课程,它注重理论联系实际,平时,我们只是在教室里学习书本上的理论知识,从来没有实践过,当我在亲身动手开始实践的时候,我发现在实践的过程中,会遇到许许多多想不到的问题,但是也正是这些实际问题才能引领我去思考,用所学的知识,一步一步去解决所有问题,最终完成任务。

这几次实验的内容: 1)信号的分类与观察

2)非正旋信号的频谱分析

2)信号的抽样与恢复 3)模拟滤波器实验

首先来说说信号的分类与观察,在这一试验中,首先通过信号与系统实验箱产生各种函数波形,在这其中有正弦信号,指数信号,指数衰减正弦信号。然后将示波器与之连接好,接通电源,通过示波器绘出波形,从而分析其中各个参数的值。通过本次信号我了解到了常用信号的产生方法与之的观察,分析的方法。并且对示波器,信号与系统实验箱的使用有了初步的了解与掌握。

在接下来的第2次试验中,我们由第1次正弦信号变为非正弦周期信号,并且在这一次的试验中,我们不但要用到示波器,还要学习使用频谱仪。首先在老师的教导下,我基本掌握了频谱仪各个旋钮的功能及其使用方法。最后,用示波器,频谱仪测量两种不一样的方波波形与频谱显示图像,在后期的实验分析中,与理论值进行比较分析。虽然说这次的实验内容不是很多,但是我还是学会了不少东西,我了解到了频谱仪的基本工作原理与正确使用方法,了解到了非正弦周期信号的各种特性。

我们实验是关于信号的抽样与恢复,在课堂上,我们从课本上学习了信号的抽样定理与之如何从抽样信号恢复连续时间信号的方法,但是从来没有亲手实践,亲自动手产生抽样信号,和恢复信号和观察其波形的变化。利用抽样脉冲把一个连续信号变为离散时间样值的过程称为抽样,抽样后的信号称为脉冲调幅(PAM)信号。在满足抽样定理条件下,抽样信号保留了原信号的全部信息,并且从抽样信号中可以无失真的恢复出原始信号。抽样定理在通信系统、信息传输理论方面占有十分重要的地位。数字通信系统是以此定理作为理论基础。抽样过程是模拟信号数字化的第一步,抽样性能的优劣关系到通信设备整个系统的性能指标。用示波器观察插孔“抽样频率”的输出,同时测量插孔“抽样频率”输出信号的频率。通过函数信号发生器模块产生一频率为1KHz的正弦信号。用导线将函数信号发生器模块的输出端与此模块的插孔“模拟输入”端相连。信号采样的PAM观察:用示波器观察插孔“抽样信号”的输出,可测量到输入信号的采样序列,用示波器比较采样序列与原始信号的关系,及采样序列与采样冲激串之间的关系。在测量过程中注意,由于信号采样串为高频脉冲串,由于实际电路的频响范围有限在采样冲激串上会观察到过冲现象。PAM信号的恢复:用示波器观察并测量插孔“模拟输出”端的信号,用示波器比较恢复出的信号与原始信号的关系与差别。改变抽样频率重复上述4步(用三种不同的抽样频率)。用信号源调出20kHZ的抽样信号测量其频谱特性。通过本次实验,我亲手验证了信号的抽样定理,和如何恢复抽样信号,并且在这其中了解到了再恢复信号的同时,信号的幅度有了大幅度的衰减,这些我们只有通过实验才能观察得到。

第4个实验是关于模拟滤波器的实验,其实有课本的基础知识可以知道滤波器是对输入信号的频率具有选择性的一个二端口网络,它允许某些基本频率(通常是某个频带范围)的信号通过,而其它频率的信号受到衰减或抑制,这些网络可以是由RLC元件或RC元件构成的无源滤波器,也可以是由RC元件和有源器件构成有源滤波器。根据幅频特性所表示的通过或阻止信号频率范围的不同,滤波器可分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)和带阻滤波器(BSF)四种。我们把能够通过的信号频率范围定义为通带,把阻止通过或衰减的信号频率定义为阻带。而通带与阻带的分界点的频率fc称为截止频率或转折频率。在通过示波器绘制各种滤波器的图形的时候,我亲眼看到了各种滤波器的特性。在这次的试验中,我在课本上学到的知识得到了充分的利用,并且再亲手实践又对各种概念有了更加深刻的认识。学会了如何用信号源与示波器测量滤波器的频响特性。

经过一学期的大学信号与系统实验的学习让 受益菲浅。在大学信号与系统实验课即将结束之时,对在这几次试验来的学习进行了总结,总结这4次实验来的收获与不足。取之长、补之短,在今后的学习和工作中有所受用。

开始做实验的时候,由于自己的理论知识基础不好,在实验过程遇到了许多的难题,也使我感到理论知识的重要性。但是我并没有放弃。发现问题,自己看书,独立思考,最终解决问题,从而也就加深我对课本理论知识的理解,达到了很好的效果。

实验中我学会了示波器、频谱仪、函数发生器的使用方法,各种函数的波形与频谱特性、、、、、。实验过程中培养了我在实践中研究问题,分析问题和解决问题的能力以及培养了良好的工程素质和科学道德,例如团队精神、交流能力、独立思考、测试前沿信息的捕获能力等;提高了自己动手能力,培养理论联系实际的作风,增强创新意识。

在这几次大学信号与系统实验课的学习中,让我受益颇多。1.信号与系统实验让我养成了课前预习的好习惯。一直以来就没能养成课前预习的好习惯(虽然一直认为课前预习是很重要的),但经过这一年,让我深深的懂得课前预习的重要。只有在课前进行了认真的预习,才能在课上更好的学习,收获的更多、掌握的更多。2.信号与系统实验培养了我的动手能力。“实验就是为了让你动手做,去探索一些你未知的或是你尚不是深刻理解的东西。”现在,大学生的动手能力越来越被人们重视,大学信号与系统实验正好为大学生提供了这一平台。每次试验无论哪一方面都亲自去做,不放弃每次锻炼的机会。经过这4次的锻炼,让我的动手能力有了明显的提高。

3、与系统实验让 在探索中求得真知。那些伟大的科学家之所以伟大就是他们利用实验证明了他们的伟大。实验是检验理论正确与否的试金石。为了要使你的理论被人接受,你必须用事实(实验)来证明,让那些怀疑的人哑口无言。但是对于一个知识尚浅、探索能力还不够的人来说,这些探索也非一件易事。大学物理实验都是一些经典的给人类带来了难以想象的便利与财富。对于这些实验,在探索中学习、在模仿中理解、在实践中掌握。大学物理实验让 慢慢开始“摸着石头过河”。学习就是为了能自 学习,这正是实验课的核心,它让我在探索、自我学习中获得知识。4.信号与系统实验教会了 处理数据的能力。实验就有数据,有数据就得处理,这些数据处理的是否得当将直接影响你的实验成功与否。

经过这几次试验的大学信号与系统实验课的学习,让我收获多多。但在这中间,也发现了 存在的很多不足。我的动手能力好有待提高,当有些实验需要很强的动手能力时 还不能从容应对; 的探索方式还有待改善,当面对一些复杂的实验时 还不能很快很好的完成; 的数据处理能力还得提高,当眼前摆着一大堆复杂数据时 处理的方式及能力还不足,不能用最佳的处理手段使实验误差减小到最小程度„„

在往常的学习生活中,我只是会学习书本上的知识,从来没有动手实践过,就是有几个实习我们也大都注重观察的方面,比较注重理论性,而较少注重我们的动手锻炼。而这一次的实验所讲,没有多少东西要我们去想,更多的是要我们去做,好多东西看起来十分简单,没有亲自去做它,你就不会懂理论与实践是有很大区别的,看一个东西简单,但它在实际操作中就是有许多要注意的地方,有些东西也与你的想象不一样,我们这次的实验就是要我们跨过这道实际和理论之间的鸿沟。不过,通过这个实验我们也发现有些事看似实易,在以前我是不敢想象自己可以独立完成的,不过,这次实验给了我这样的机会,现在我可以与同伴合作做出。

对自己的动手能力是个很大的锻炼。实践出真知,纵观古今,所有发明创造无一不是在实践中得到检验的。没有足够的动手能力,就奢谈在未来的科研尤其是实验研究中有所成就。在实习中,我锻炼了自己动手技巧,提高了自己解决问题的能力。遇到的种种问题,但是我还是完成了任务。

我很感谢老师对我们的细心指导,从他那里我学会了很多书本上学不到的东西,教我们怎样把理论与实际操作更好的联系起来,这些东西无论是在以后的工作还是生活中都会对我起到很大的帮助。

信号与系统实验短暂,但却给我以后的道路指出一条明路,那就是思考着做事,事半功倍,更重要的是,做事的心态,也可以得到磨练,可以改变很多不良的习惯。

实验这几次的确有点累,不过也正好让我们养成了一种良好的作息习惯,它让我们更充实,更丰富,这就是实验收获吧!但愿有更多的收获伴着我,走向未知的将来。

篇6:信号与系统综合实验教案

信号的Z域表示式通常可用下面的有理分式表示

为了能从信号的Z域象函数方便地得到其时域原函数,可以将F(z)展开成部分分式之和的形式,再对其取Z逆变换。

MATLAB的信号处理工具箱提供了一个对F(z)进行部分分式展开的函数[WTBZ]residuez它的调用形式: [r,p,k]=residuez(num,den)其中,num、den分别表示F(z)的分子和分母多项式的系数向量;r为部分分式的系数;p为极点;k为多项式的系数。若F(z)为真分式,则k为零。借助residuze函数可以将F(z)展开成:

numzr1rn denz1p1z11pnz1 k1k2z1kmn1zmn

例1 试用MATLAB计算

Fz

183z14z2z3的部分分式展开。

解 计算部分分式展开的[WTBZ]MATLAB程序如下:

%program10.6-1

num=[18];

den=[183-4-1];

[r,p,k]=residuez(num,den) 程序运行结果为

r=0.36000.24000.4000

p=0.5000-0.3333-0.3333

k=[]

从运行结果中可以看出p(2)=p(3),表示系统有一个二阶的重极点,r(2)表示一阶极点前的系数,而r(3)就表示二阶极点前的系数。对高阶重极点,其表示方法是完全类似的,所以该F(z)的部分分式展开为:

0.360.240.4Fz 10.5z110.3333z110.3333z12 b0b1z1b2z2bmzmnumzFz12ndenz1a1za2zanz2 利用MATLAB计算H(z)的零极点与系统特性

如果系统函数H(z)的有理函数表示形式为

那么系统函数的零点和极点可以通过MATLAB函数roots得到,也可用函数tf2zp得到,tf2zp的调用形式为:

[z,p,k]=tf2zp(b,a)

b1zmb2zm1bm1Hza1zna2zn1an1

式中,b和a分别为H(z)的分子多项式和分母多项式的系数向量,它的作用是将H(z)的有理函数表示式转换为零点、极点和增益常数的表示式,即

zz1zz2zzm Hzk zp1zp2zpn

例2 已知一离散因果LTI系统的系统函数为

z12z2z3Hz 10.5z10.005z20.3z3求该系统的零极点。

解 将系统函数改写为

z22z1Hz3 z0.5z20.005z0.3

用tf2zp函数求系统的零极点,程序如下:

%program10.6-2

b=[121];

a=[1-0.5-0.0050.3];

[r,p,k]=tf2zp(b,a) 运行结果为

r=-

1-1

p=0.5198+0.5346i

0.5198-0.5346i

-0.5396

k=1

若要获得系统函数H(z)的零极点分布图,可以直接应用zplane函数,其调用形式为: zplane(b,a)式中,b和a分别为H(z)的分子多项式和分母多项式的系数向量。它的作用是在Z平面画出单位圆、零点和极点。

如果已知系统函数H(z),求系统的单位脉冲响应h[k]和频率响应H(ejΩ),则可应用impz函数和freqz函数。

例3 已知一离散因果LTI系统的系统函数为

2z2z1 Hz321z0.5z0.005z0.3

试画出系统的零极点分布图,求系统的单位脉冲响应h[k]和频率响应H(ejΩ),并判断系统是否稳定。

解 根据已知的H(z),用zplane函数即可画出系统的零极点分布图。利用impz函数和freqz函数求系统的单位脉冲响应和频率响应时,需要将H(z)改写成:

z12z2z3Hz 10.5z10.005z20.3z3程序如下:

%program10.6-3

b=[121];

a=[1-0.5-0.0050.3];

figure(1);zplane(b,a);

num=[0121];

den=[1-0.5-0.0050.3];

h=impz(num,den);figure(2);stem(h,′.′)xlabel(′k′)title(′ImpulseRespone′)[H,w]=freqz(num,den);figure(3);plot(w/pi,abs(H))xlabel(′Frequency\omega′)title(′MagnitudeRespone′)利用MATLAB计算Z变换

MATLAB的符号数学工具箱提供了计算Z变换的函数ztrans和Z逆变换的函数iztrans,其调用形式为:

F=ztrans(f)

f=iztrans(F)

式中,f为信号的时域表达式的符号对象,F表示信号f的象函数表达式的符号对象。符号对象可以应用函数sym实现,其调用格式为:

S=sym(A)

式中,A为待分析表示式的字符串;S为符号数字或变量。例4 试分别用ztrans函数和iztrans函数求:

(1)f[k]=cos(ak)ε(k)的Z变换;Fz(2)1z2的Z逆变换。

解(1)求f[k]的Z变换的程序如下:

%program10.6-4(1)

f=sym(′cos(a*k)′);

F=ztrans(f)运行结果为

F=(z-cos(a))*z/(z^2-2*z*cos(a)+1)即

zzcosa cosakk2 z2zcosa1(2)求F(z)逆变换的程序为

%program10.6-4(2)

F=sym(′1/(1+z)^2′);

f=iztrans(F)程序运行结果为

f=Delta(n)+(-1)^n*n-(-1)^n 即

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:心电信号发生器 下一篇:信号与系统实验