簡體   English   中英

Wolfram Alpha 和 MATLAB plot 轉移 function 不同

[英]Wolfram Alpha and MATLAB plot transfer function differently

我正在嘗試使用傳輸 function: (1+s)/(1-s)獲取簡單 180° 相移全通濾波器的數字 IIR 濾波器的濾波器系數

這是 Wolfram 給我的: Wolfram 中的 Bode Plot

這就是我從 MATLAB 得到的: Bode Plot in MATLAB

我的代碼是:

clc; clear; close all;
z = [-1];                  %zeros
p = [1];                   %poles
k = 1;                     %gain
[num,den] = zp2tf(z,p,k);  %convert zero-pole into numerator denominator
freqz(num,den);            %bode plot

我想在 MATLAB 中獲得與在 Wolfram Alpha 中相同的 plot ,以使用 fvtool 獲得濾波器系數,以便我可以在 Z0D61F8370CAD1D412F80B84D143E12 中編寫濾波器因此我的問題是如何設法將傳輸 function 的極點和零點轉換為正確的格式,以便 MATLAB 像 Wolfram 一樣執行相同的 plot 我究竟做錯了什么?

你的問題是你在混合概念

freqz用於基於z的離散頻率變換,而您正在使用基於s的連續拉普拉斯變換。 這些顯然不是一回事。

只需使用函數進行連續變換。

z = [-1];                  %zeros
p = [1];                   %poles
k = 1;                     %gain
[num,den] = zp2tf(z,p,k);  %convert zero-pole into numerator denominator
my_filter=tf(num,den);
bode(my_filter);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM