Matlab中freqs函数使用

目录

语法

说明

示例

传递函数的频率响应

低通模拟贝塞尔滤波器的频率响应


        freqs函数的功能是求解模拟滤波器的频率响应。

语法

h = freqs(b,a,w)

[h,wout] = freqs(b,a,n)

freqs(___)

ba — Transfer function coefficients

        传递函数系数,指定为矢量。例如:[b,a] = butter(5,50,'s')指定一个截止频率为50rad/second的五阶Butterworth滤波器。

w —角频率

        角频率,指定为以弧度/秒表示的正实矢量。

        例如:2 * pi * logspace(6,9)指定从1 MHz(2π×10^6 rad / second)和1 GHz(2π×10^9 rad / second)的50个对角间隔的角频率。

h-频率响应

        频率响应,以向量形式返回。

wout —角频率

        计算h的角频率,作为矢量返回。

说明

h = freqs(b,a,w)返回由系数矢量b和a指定的模拟滤波器的复数频率响应,并在角频率w处评估。

[h,wout] = freqs(b,a,n)使用n个频点计算h,并以wout返回相应的角频率。

freqs(___)没有输出参数时,将在当前图形窗口中绘制幅度和相位响应与角频率的函数关系。 可以将此语法与任何先前的输入语法一起使用。

示例

传递函数的频率响应

        绘制传递函数的频率响应,如下所示:

a = [1 0.4 1];
b = [0.2 0.3 1];
w = logspace(-1,1);

h = freqs(b,a,w);
mag = abs(h);
phase = angle(h);
phasedeg = phase*180/pi;

subplot(2,1,1)
loglog(w,mag)
grid on
xlabel('Frequency (rad/s)')
ylabel('Magnitude')

subplot(2,1,2)
semilogx(w,phasedeg)
grid on
xlabel('Frequency (rad/s)')
ylabel('Phase (degrees)')

        如图所示:

        也可以通过不带输出参数的调用freqs来生成图。如下所示:

figure
freqs(b,a,w)

        如图所示:

低通模拟贝塞尔滤波器的频率响应

        设计一个五阶模拟低通贝塞尔滤波器,其群延迟近似恒定,最高达10^4rad/s。 使用频率绘制滤波器的频率响应。如下所示:

[b,a] = besself(5,10000);   % Bessel analog filter design
freqs(b,a)                  % Plot frequency response

        如图所示:

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值