matlab,信号与系统相关

已知传递函数为H(z)=[(z^2-2*0.95*z*cos(pi*0.5)+0.95^2)(z^2-2*0.95*cos(pi*0.7)+0.95^2)(z^2-2*0... 已知传递函数为H(z)=[(z^2-2*0.95*z*cos(pi*0.5)+0.95^2)(z^2-2*0.95*cos(pi*0.7)+0.95^2)(z^2-2*0.95*z*cos(pi*0.9)+0.95^2)]/z^6,通过matlab求幅值响应与相频响应,要求尽量少得用系统自带公式,解释详细些可以加分 展开
 我来答
real_sxmman
2014-03-26 · 超过25用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:48万
展开全部
由z变换的定义,可以得到
z = e^(sTs) , s = jw, 所以 z = e^(jwTs) = e^(j2pif/fs), fs为采样频率
根据奈奎斯特定理,频带f应该满足 f < fs/2
因而,根据z变换计算频率响应,只要用e^(jw)代替z即可,然后让w由0增加到pi,以w为更坐标,|H(z)|为纵坐标即得到频响曲线,实际中一般取对数显示。
例如:
b = [-0.0053 -0.0243 -0.0176 0.0075 0.0224 -0.0020 -0.0317 -0.0108...
0.0418 0.0355 -0.0504 -0.0877 0.0562 0.3119 0.4417 0.3119...
0.0562 -0.0877 -0.0504 0.0355 0.0418 -0.0108 -0.0317 -0.0020...
0.0224 0.0075 -0.0176 -0.0243 -0.0053]
N = 256;
w = 0:1:N-1;
w = w*1*pi./N;
z = exp(sqrt(-1)*w);
hz = zeros(1, length(z));
for i=1:1:length(b)
hz = b(i) * z.^(-1*(i-1)) + hz;
end
[hzz ,w] = freqz(b, 1, N);
figure();plot(20*log10(abs(hz)));
figure();plot(20*log10(abs(hzz)));
图1是将b进行z变换后,按照之前方法计算频响的曲线
图2是matlab内置函数得到的,2者是一样的。
b为一fir低通滤波器系数。
更多追问追答
追问
能解释下b是怎么得出来得吗
追答
fedge = [800 1000];    % wc = 800hz, wt = 1000hz
mval = [1 0];
dev = [0.0559 0.01]; % o1 = 0.5db, so o1 = 1 - 10^(-0.5/20) = 0.0559, At = -40db, so o2 = 10^(At/20) = 0.01
fs = 4000; % sample frequency = 4000hz
[N, fpts, mag, wt] = remezord(fedge, mval, dev, fs); % length(fedge) = 2 * length(mval) - 2
b = remez(N, fpts, mag, wt);
雷米兹方法设计的低通滤波~时域就是b
东莞大凡
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进... 点击进入详情页
本回答由东莞大凡提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式