《DSP using MATLAB》Problem 4.3


代码:
%% -------------------------------------------------
%% 1 x(n)=2δ(n-2)+3u(n-3)
%% -------------------------------------------------
b = [0, 0, 2, 1]; a = [1, -1]; % [R, p, C] = residuez(b, a)
Mp = (abs(p))' % pole magnitudes
Ap = (angle(p))'/pi % pole angle in pi units [delta, n] = impseq(0, 0, 7); x1_chk = filter(b, a, delta) x1_ori = 2 * impseq(2, 0, 7) + 3 .* stepseq(3, 0, 7) figure('NumberTitle', 'off', 'Name', 'Problem 4.3 X1(z) pole-zero')
set(gcf,'Color','white');
zplane(b, a);
title('pole-zero plot'); grid on; %% ----------------------------------------------------------------------------
%% 2 x(n)=[3*0.75^n*cos(0.3πn)]u(n) + [4*0.75^n*sin(0.3πn)]u(n)
%% ----------------------------------------------------------------------------
b = [3, -3*0.75*cos(0.3*pi) + 4*0.75*sin(0.3*pi) ];
a = [1, -2*0.75*cos(0.3*pi), 0.75*0.75]; [R, p, C] = residuez(b, a)
Mp = (abs(p))' % pole magnitudes
Ap = (angle(p))'/pi % pole angle in pi units [delta, n] = impseq(0, 0, 7); x2_chk = filter(b, a, delta) x2_ori = ( 3*(0.75 .^ n) .* cos(0.3*pi*n) + 4*(0.75 .^ n) .* sin(0.3*pi*n) ) .* stepseq(0, 0, 7) figure('NumberTitle', 'off', 'Name', 'Problem 4.3 X2(z) pole-zero')
set(gcf,'Color','white');
zplane(b, a);
title('pole-zero plot'); grid on;
运行结果:


2、第2小题的z变换,有一对共轭极点;


3、求z变换

代码:
%% ------------------------------------------------------------------------
%% 3 x(n)=n*sin(πn/3)u(n) + (0.9)^n*u(n-2)
%% ------------------------------------------------------------------------
b1 = [0, sqrt(3)/2, 0, -sqrt(3)/2]; nb1 = [0:3];
a1 = [1, -2, 3, -2, 1]; na1 = [0:4];
b2 = [0, 0, 0.81]; nb2 = [0:2];
a2 = [1, -0.9]; na2 = [0:1]; [a, na] = conv_m(a1, na1, a2, na2); [b11, nb11] = conv_m(b1, nb1, a2, na2);
[b12, nb12] = conv_m(a1, na1, b2, nb2); [b, nb] = sigadd(b11, nb11, b12, nb12); [R, p, C] = residuez(b, a)
Mp = (abs(p))' % pole magnitudes
Ap = (angle(p))'/pi % pole angle in pi units [delta, n] = impseq(0, 0, 7); x3_chk = filter(b, a, delta) x3_ori = ( n .* sin(pi*n/3) ) .* stepseq(0, 0, 7) + (0.9 .^ n) .* stepseq(2, 0, 7) figure('NumberTitle', 'off', 'Name', 'Problem 4.3 X3(z) pole-zero')
set(gcf,'Color','white');
zplane(b, a);
title('pole-zero plot'); grid on;
运行结果:


4、求z变换

代码:
%% ------------------------------------------------------------------------
%% 4 x(n)=[n^2*(2/3)^(n-2)]u(n-1)
%% ------------------------------------------------------------------------
b1 = [0, 0, 1, 0, -4/9]; nb1 = [0:4];
a1 = [1, -8/3, 24/9, -32/27, 16/81]; na1 = [0:4];
b2 = [0, 3]; nb2 = [0:1];
a2 = [1, -4/3, 4/9]; na2 = [0:2];
b3 = [0, -3/2]; nb3 = [0:1];
a3 = [1, -2/3]; na3 = [0:1]; [a22, na22] = conv_m(a2, na2, a3, na3); [b11, nb11] = conv_m(b2, nb2, a3, na3);
[b12, nb12] = conv_m(b3, nb3, a2, na2); [b22, nb22] = sigadd(b11, nb11, b12, nb12); [a, na] = conv_m(a1, na1, a22, na22); [b13, nb13] = conv_m(b1, nb1, a22, na22);
[b14, nb14] = conv_m(a1, na1, b22, nb22); [b, nb] = sigadd(b13, nb13, b14, nb14); [R, p, C] = residuez(b, a)
Mp = (abs(p))' % pole magnitudes
Ap = (angle(p))'/pi % pole angle in pi units [delta, n] = impseq(0, 0, 7); x4_chk = filter(b, a, delta) x4_ori = (n.*n) .* (2/3).^(n-2) .* stepseq(1, 0, 7) figure('NumberTitle', 'off', 'Name', 'Problem 4.3 X4(z) pole-zero')
set(gcf,'Color','white');
zplane(b, a);
title('pole-zero plot'); grid on;
运行结果:


5、求z变换

代码:


《DSP using MATLAB》Problem 4.3的更多相关文章
- 《DSP using MATLAB》Problem 7.27
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.26
注意:高通的线性相位FIR滤波器,不能是第2类,所以其长度必须为奇数.这里取M=31,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.25
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.24
又到清明时节,…… 注意:带阻滤波器不能用第2类线性相位滤波器实现,我们采用第1类,长度为基数,选M=61 代码: %% +++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.23
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output Info a ...
- 《DSP using MATLAB》Problem 7.16
使用一种固定窗函数法设计带通滤波器. 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.15
用Kaiser窗方法设计一个台阶状滤波器. 代码: %% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.14
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.13
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.12
阻带衰减50dB,我们选Hamming窗 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
随机推荐
- Codeforces B - Tavas and SaDDas
535B - Tavas and SaDDas 方法一:打表大法. 代码1: #include<bits/stdc++.h> using namespace std; ]={,,,,,,, ...
- Vue.js Cookbook: 添加实例属性; 👍 axios(4万➕✨)访问API; filters过滤器;
add instance properties //加上$,防止和已经定义的data,method, computed的名字重复,导致被覆写.//可以自定义添加其他符号. Vue.prototype. ...
- Rspec: everyday-rspec实操。FactoryBot预构件 (rspec-expectations gem 查看匹配器) 1-4章
总文档连接: RSpec.info/documentation/ 包括core, expectiation,rails , mock, 点击最新版本,然后右上角搜索class, method. 第3章 ...
- 27 网络通信协议 tcp udp subprocess
1.模块subprocess import subprocess cmd_str = input('请输入指令>>>') sub_obj = subprocess.Popen( cm ...
- 带分数(dfs,next_permutation)
问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714. 还可以表示为:100 = 82 + 3546 / 197. 注意特征:带分数中,数字1~9分别出现且只出现一次( ...
- java.lang.string split 以点分割字符串无法正常拆分字符串
//错误的做法String ip="192.168.11.23"; String[] spstr_IP=ip.split(".");//这种方式无法拆分在ip字 ...
- C语言按行读文件及字符串分割
#include<stdio.h> #include<iostream> using namespace std; int main() { char s[50]; char ...
- 装载问题(load)
装载问题(load) 问题描述: 有一批共n 个集装箱要装上艘载重量为c 的轮船,其中集装箱i 的重量为wi.找出一种最 优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱 ...
- setuid和setgid
关于有效用户,实际用户的问题,参考: http://www.cnblogs.com/kunhu/p/3699883.html 内核对进程存取文件的许可检查,是通过考查进程的有效用户ID来实现的的. 在 ...
- 各种格式的压缩包解压,7zip 命令行
由于7z.exe所在路径,以及解压目录中可能包含中文特殊字符,导致解压失败,所以最好将各部分路径使用双引号包含起来. 如:CString str; str.Format(L"\"% ...