由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
EE版 - 滤波器设计
相关主题
需要解惑,控制和滤波有差别吗?Kalman 滤波的一个问题
FIR 滤波器 delay一问可变带宽滤波的问题
多路同步的信号通过滤波器后是不是还要重新同步?问个随机过程的问题。各位帮忙下,谢谢
请推荐画图软件还是关于模拟滤波器,这次是电路
弱问个spectrum analyzer的问题请问如何计算噪声的Power
EE的热点RF前端里面用的声表面滤波saw duplexer和GaAs HEMT RF switching哪个更有前途?
请各位帮帮忙,菜鸟级问一个图像处理的问题
ADC 一问怎么通过零点和极点的位置来判断滤波器的类型
相关话题的讨论汇总
话题: 滤波器话题: 设计话题: wn话题: 不等式话题: 延时
进入EE版参与讨论
1 (共1页)
b****y
发帖数: 169
1
最近需要设计一个模拟底通滤波器。
要求无非是通带内波动小于XdB, 截止频率外的增益小于YdB
这些都好办
要命的是还有一条通带内群延时波动小于Nps
尝试了很多模型都无法同时满足两个条件。
即:群延时波动小的,如贝塞尔,带外衰减太慢
带外衰减快的,如且比雪夫,群延时波动太大
也试过把几种组合起来,都满足不了条件。
看起来只能手工调零极点。
Matlab里滤波器设计器都不能控制群延时波动。
网上找到一个工具开价数万刀。
不知有没有高手知道此类问题该如何下手?
有没有好书推荐?
谢谢!
a****l
发帖数: 8211
2
你到底是做模拟的还是数字的??matlab好象只是设计数字滤波器吧?

【在 b****y 的大作中提到】
: 最近需要设计一个模拟底通滤波器。
: 要求无非是通带内波动小于XdB, 截止频率外的增益小于YdB
: 这些都好办
: 要命的是还有一条通带内群延时波动小于Nps
: 尝试了很多模型都无法同时满足两个条件。
: 即:群延时波动小的,如贝塞尔,带外衰减太慢
: 带外衰减快的,如且比雪夫,群延时波动太大
: 也试过把几种组合起来,都满足不了条件。
: 看起来只能手工调零极点。
: Matlab里滤波器设计器都不能控制群延时波动。

b****y
发帖数: 169
3
我需要模拟的。
Matlab确实没有什么好的模拟设计器。
只能设计简单基本的模拟滤波器。
数字滤波器设计的功能强大一些,但还是没有我要的功能。
如果有的话也是可以用来设计模拟滤波器的。
想象一下如何把单位圆看成直线?
x****g
发帖数: 2000
4
楼主增加阶数不能解决问题?
模拟滤波器的approximation和synthesis几十年前就成型了吧,
在手册上都可以查到到吧
c*******h
发帖数: 4883
5
可以试试模拟的滤波器设计软件啊,不是更直接。

【在 b****y 的大作中提到】
: 我需要模拟的。
: Matlab确实没有什么好的模拟设计器。
: 只能设计简单基本的模拟滤波器。
: 数字滤波器设计的功能强大一些,但还是没有我要的功能。
: 如果有的话也是可以用来设计模拟滤波器的。
: 想象一下如何把单位圆看成直线?

b****y
发帖数: 169
6
阶数也不能太高啊。不然不好实现啊。
我希望能在10阶以内搞定。
我也觉得这样的问题应该早有非常成熟、系统的解决方法了。
不知有什么手册可以查的?
模拟的滤波器设计软件我也找了。
这个很强大
http://www.filter-solutions.com/
但是也不便宜。
x****g
发帖数: 2000
7
这种情况,
你不妨想一下系统是否真的需要这样好的preformance,
在多大程度上能降低这个要求。
单项指标上的微小变化,经常带来设计难度的成倍速增长,
跟系统工程师讨价还价是很有必要的

【在 b****y 的大作中提到】
: 阶数也不能太高啊。不然不好实现啊。
: 我希望能在10阶以内搞定。
: 我也觉得这样的问题应该早有非常成熟、系统的解决方法了。
: 不知有什么手册可以查的?
: 模拟的滤波器设计软件我也找了。
: 这个很强大
: http://www.filter-solutions.com/
: 但是也不便宜。

b****y
发帖数: 169
8
谢谢各位的建议。
hehe,其实我就是系统工程师。
我当然不会提出这么变态的指标让人去设计。
这是人spec上给出的一个参考系统的指标。
我们只是想仿真一下看看跟我们自己的设计性能有什么区别。
b****y
发帖数: 169
9
谢谢各位的建议。
hehe,其实我就是系统工程师。
我当然不会提出这么变态的指标让人去设计。
这是人spec上给出的一个参考系统的指标。
我们只是想仿真一下看看跟我们自己的设计性能有什么区别。
g****t
发帖数: 31659
10
你先assume一个线性滤波器,
然后把你这些要求都带入进去。
最后弄出来一组关于滤波器系数的不等式或者方程。
然后search其解。找不出来解就加阶数。

【在 b****y 的大作中提到】
: 最近需要设计一个模拟底通滤波器。
: 要求无非是通带内波动小于XdB, 截止频率外的增益小于YdB
: 这些都好办
: 要命的是还有一条通带内群延时波动小于Nps
: 尝试了很多模型都无法同时满足两个条件。
: 即:群延时波动小的,如贝塞尔,带外衰减太慢
: 带外衰减快的,如且比雪夫,群延时波动太大
: 也试过把几种组合起来,都满足不了条件。
: 看起来只能手工调零极点。
: Matlab里滤波器设计器都不能控制群延时波动。

相关主题
EE的热点Kalman 滤波的一个问题
请各位帮帮忙,菜鸟级可变带宽滤波的问题
ADC 一问问个随机过程的问题。各位帮忙下,谢谢
进入EE版参与讨论
g****t
发帖数: 31659
11
exp(ix)把直线0 i+x映射成单位圆。

我需要模拟的。
Matlab确实没有什么好的模拟设计器。
只能设计简单基本的模拟滤波器。
数字滤波器设计的功能强大一些,但还是没有我要的功能。
如果有的话也是可以用来设计模拟滤波器的。
想象一下如何把单位圆看成直线?

【在 b****y 的大作中提到】
: 我需要模拟的。
: Matlab确实没有什么好的模拟设计器。
: 只能设计简单基本的模拟滤波器。
: 数字滤波器设计的功能强大一些,但还是没有我要的功能。
: 如果有的话也是可以用来设计模拟滤波器的。
: 想象一下如何把单位圆看成直线?

b****y
发帖数: 169
12
brute force?
很强,但是这方程可不太好列阿。
比方说最简单的:
0-1MHz内的幅频响应>-1dB且<0dB如何列?就假设是2阶吧。
0.8913 (还没考虑零点)
列出来如何解?
Monte Carlo?
三个不等式,几十个变量。。。
太难。
g****t
发帖数: 31659
13
滤波器设计和控制器设计在数学方法上没区别.
简单的性能要求一般可以归结为矩阵不等式,
矩阵不等式matlab有现成的包.
但是你有延时之类的要求.所以不那么简单.
假定个滤波器的传递函数 G(s),然后假定各系数,
你的performance 要求,应该也可以转化成比较复杂的不等式或者优化问题.
然后用非线性优化或者非线性不等式求解的数值方法做作看.
缺点是这么弄出来的东西不鲁棒,产品中不一定能用.
因为产品中对G(s)的实现都是有误差的.
器件稍有不准,滤波器的设计指标可能偏离很多.
你前面讲的chebyshev之类的滤波器没有反馈,
效果可能会更差.
所以我的两个建议
a.用反馈滤波器
b.由优化方法找出系数和对应的裕度
假定你用2阶G(s)滤波器,
G(s)=(1+a s+ b s^2)/(c+ d s +e s^2),未知数是a,b,c,d,e.
要不你把对a,b,c,d,e的不等式/方程写出来,我给你解解看.
起码牛顿法可以试试.

brute force?
很强,但是这方程可不太好列阿。
比方说最简单的:
0-1MHz内的幅频响应>-1dB且<0dB如何列?就假设是2阶吧。

【在 b****y 的大作中提到】
: brute force?
: 很强,但是这方程可不太好列阿。
: 比方说最简单的:
: 0-1MHz内的幅频响应>-1dB且<0dB如何列?就假设是2阶吧。
: 0.8913: (还没考虑零点)
: 列出来如何解?
: Monte Carlo?
: 三个不等式,几十个变量。。。
: 太难。

b****y
发帖数: 169
14
2阶是举个例子。只很少系数。
10阶系数就多了。
我们还是先用2阶说事吧。
二阶低通的一般形式是:
H(s)=(Wn^2+2 a Wn s)/((Wn^2+2 b Wn s + s^2)
就3个系数吧:Wn, a, b
假设条件是这样吧:
1、0到1Hz之间增益波动在1dB以内
2、2Hz以外幅增益小于-30dB
3、0到1Hz之间群延时波动在100微秒以内
不等式1:
max(|H(jw)|)/min(|H(jw)|)<1.122 范围:0 不等式2:
max(|H(jw)|)<0.0316 范围:4pi 不等式3:
定义相位: p(w)=Arg[H(jw)]
定义群延时:gdl(w)=dp/dw
max(gdl(w))-min(gdl(w)<1e-4 范围:0 不知道好不好解。
不知道解法推广到10阶难度如何。
谢谢了!
g****t
发帖数: 31659
15
method 1:
令你设计的filter振幅和复角为a(w),b(w)。系数未知但是假设出来了。
常见的方法是给出一个desired 分段频率响应bode 图c(w),d(w)。
令S1(w)=a(w)-c(w),S2(w)=b(w)-d(w),然后求系数让
S1^2,S2^2在感兴趣频率段的积分最小.
因为积分显然是关于系数的常用函数,
然后求最小点用常用优化方法就可以了.
这种方法也许可以手算。
method 2:
如果要做你下面要求的min max估计,
则需要使用前面我提到的矩阵不等式之类的鲁棒控制工具。
你查查看下面类型的文章:
design of arbitrary FIR digitial filters with
group delay constraint
yongzhi liu and zhiping lin
这个文章最后的例子和你的要求几乎一样。

2阶是举个例子。只很少系数。
10阶系数就多了。
我们还是先用2阶说事吧。
二阶低通的一般形式是:
H(s)=(Wn^2+2 a Wn s)/((Wn^2+2 b Wn s + s^2)
就3个系数吧:Wn, a,

【在 b****y 的大作中提到】
: 2阶是举个例子。只很少系数。
: 10阶系数就多了。
: 我们还是先用2阶说事吧。
: 二阶低通的一般形式是:
: H(s)=(Wn^2+2 a Wn s)/((Wn^2+2 b Wn s + s^2)
: 就3个系数吧:Wn, a, b
: 假设条件是这样吧:
: 1、0到1Hz之间增益波动在1dB以内
: 2、2Hz以外幅增益小于-30dB
: 3、0到1Hz之间群延时波动在100微秒以内

b****y
发帖数: 169
16
多谢。我会看看矩阵不等式的。
不过我刚在Matlab里发现一个函数IIRGRPDELAY
可以生成任意群延时的全通函数。
所以一个设计方法就是先找一个滤波器满足幅频响应的条件,
再用IIRGRPDELAY设计一个全通函数去补偿群延时。
http://www.mathworks.com/products/filterdesign/demos.html?file=/products/demos/shipping/filterdesign/iirgrpdelaydemo.html
也就是说幅度和群延时是分别优化的。
尽管不是全局最优,但是设计过程很简单。
只是阶数比最优的要高一些。
c**********d
发帖数: 39
17
可以查一查Analog Filter design这本书,M. E. Van Valkenburg 写的
1 (共1页)
进入EE版参与讨论
相关主题
怎么通过零点和极点的位置来判断滤波器的类型弱问个spectrum analyzer的问题
问个sigma delta modulator的问题EE的热点
请教一个极简单的相位补偿问题--被绊住10来天了。。。请各位帮帮忙,菜鸟级
音响的噪音问题ADC 一问
需要解惑,控制和滤波有差别吗?Kalman 滤波的一个问题
FIR 滤波器 delay一问可变带宽滤波的问题
多路同步的信号通过滤波器后是不是还要重新同步?问个随机过程的问题。各位帮忙下,谢谢
请推荐画图软件还是关于模拟滤波器,这次是电路
相关话题的讨论汇总
话题: 滤波器话题: 设计话题: wn话题: 不等式话题: 延时