从频率响应与invfreqs / invfreqz滤波器系数

82(30天)
你好,
我有一个线性时不变系统(spring-mass-damper),系统的输入是一个梯形加速度功率谱密度的基础应用于系统输出的均方根加速度的质量。评估输出的rms我想使用lyap,但我可以使用它只有在系统的输入是一个白噪声。
我想设计一个滤波器,作为输入白噪声(平坦功率谱密度)和作为输出的输入我的LTI系统:梯形加速度功率谱密度。我只需要滤波器的系数,这样我可以评估的空间状态形式过滤器和过滤器+ LTI(需要使用lyap)。
我不明白如何使用invfreqs / invfreqz。设计滤波器的级响应不匹配,我想。
这是代码:
清除所有;关闭所有;clc
定义梯形APSD % %
df = 0.1;
f_a = 20;f_b = 100;f_c = 300;f_d = 2000;%的频率点
s_l = 3;s_r = 5;%的斜坡
APSD_m = 1;%平PSD中期
f_l = f_a: df: f_b;f_m = f_b: df: f_c;f_r = f_c: df: f_d;
APSD_l = APSD_m * (f_l / f_b)。^ (s_l / (10 * log10 (2)));%左PSD
APSD_r = APSD_m * (f_r / f_c)。^ (s_r / (10 * log10 (2)));%对PSD
APSD_m = APSD_m *的(1、长度(f_m));% PSD中期
f_APSD = [f_l、f_m f_r];
APSD = [APSD_l、APSD_m APSD_r];
% %过滤器invfreqz
desiredResponse = sqrt (APSD);我想要%幅度响应
normalizedFrequency = f_APSD. / f_APSD(结束)*π;
[b] = invfreqz (desiredResponse normalizedFrequency 10 13 [], 30);%得到滤波器系数
zplane (b)
[h, w] = freqz (b, a,长度(f_APSD));%滤波器的频率响应
图()
重对数(APSD, f_APSD - k, f_APSD, abs (h)。^ 2, ' g ')
传奇(“目标APSD”、“滤波器响应”)

接受的答案

保罗
保罗 2023年5月16日
编辑:保罗 2023年5月17日22:58
假设f_APSD赫兹,过滤器,h,低于给APSD合理匹配。
df = 0.1;
f_a = 20;f_b = 100;f_c = 300;f_d = 2000;%的频率点
s_l = 3;s_r = 5;%的斜坡
APSD_m = 1;%平PSD中期
f_l = f_a: df: f_b;f_m = f_b: df: f_c;f_r = f_c: df: f_d;
APSD_l = APSD_m * (f_l / f_b)。^ (s_l / (10 * log10 (2)));%左PSD
APSD_r = APSD_m * (f_r / f_c)。^ (s_r / (10 * log10 (2)));%对PSD
APSD_m = APSD_m *的(1、长度(f_m));% PSD中期
f_APSD = [f_l、f_m f_r];
APSD = [APSD_l、APSD_m APSD_r];
% %过滤器invfreqz
% {
desiredResponse = sqrt (APSD);我想要%幅度响应
normalizedFrequency = f_APSD. / f_APSD(结束)*π;
[b] = invfreqz (desiredResponse normalizedFrequency 10 13 [], 30);%得到滤波器系数
zplane (b)
[h, w] = freqz (b, a,长度(f_APSD));%滤波器的频率响应
图()
重对数(APSD, f_APSD - k, f_APSD, abs (h)。^ 2, ' g ')
传奇(“目标APSD”、“滤波器响应”)
%}
g = APSD(1) /(2 *π* f_APSD (1));
h =特遣部队(g *[1 0], 1) *特遣部队(1,(1 /(2 *π* f_b) 1)) *特遣部队(1,(1 /(2 *π* f_c) 1)) ^ 2;
h =特遣部队(g *[1 0], 1) *特遣部队(1,(1 /(2 *π* f_c * 0.85) 1]) ^ 3;
zpk (h)
ans = 6.5822 e06年代- - - - - - - - - - - - (s + 1602) ^ 3连续时间零/钢管/增益模型。
semilogx (f_APSD, 20 * log10 (APSD) f_APSD, db(挤压(波德(h, 2 *π* f_APSD)))),网格
包含(“赫兹”);ylabel (“数据库”)
不知道多好比赛需要,或如果它真的需要匹配sqrt (APSD)我不完全理解为什么这个近似有助于评估输出响应的均方根一些输入。如果输入和系统是已知的,它不应该有可能找到的RMS的输出这些信息呢?
12个评论

登录置评。

更多的答案(0)

s manbetx 845


释放

R2019b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!