求助判决的低通滤波器的设计
请问怎样设计用判决用的低通滤波器呢 ?就是很多数字1通过的时候就变成一个高电平,数字0通过的时候变成地点平,就像那种在抽样判决中用的低通滤波器一样,在matlab中是这样的
LPF = [ones(1,BandWidth2/2*(DataNum*Td)) zeros(1,length(modulated_sig)-BandWidth2*(DataNum*Td)) ones(1,BandWidth2/2*(DataNum*Td)) ];
在c中是怎么样的呢?
[解决办法]
好像可以在C语言里调用matlab的,如果你可以用matlab做出来,用C写个皮就可以了。
---------------
不过我有个问题,你给的例子并不是什么低通滤波器,全是1即为直流分量,显然是个低频信号;而全是0也是直流分量,当然也是一个低频信号,所以你给的例子不是很完美,交替的1和0可以认为是一个高频信号,这个应该很好理解的。
如果仅仅从你给的例子看,你要做的不是一个**滤波器,而是一个二值化的处理器。对一定长度连续序列里的0和1进行统计,如果1的个数大于某个阈值则输出1,某则输出0。实现上可以考虑采用一个queue实现,但同时可以对1的统计做一定的优化,不用每推进一个bit就统计一次,而选择计数器可能会更明智。
不知道我的理解对不?
祝你好运!
[解决办法]
如果你是想真正的做一个带通滤波器,这里简单的几句话是说不清楚的,你可以参考参考数字信号处理,可能也能够找到一些程序库。如果你的应用中仅仅是要根据0、1的多少来输出高电平和底电平,则可以采用一些简化的办法来代替,如可以简单地对你一定长度的信号作平均,根据你的需求,平均值超过某个阈值的则输出高电平,否则输出底电平。而阈值的具体值则需要根据你的具体情况来取了。