论坛风格切换切换到宽版
  • 7098阅读
  • 49回复

小比尔,你发的录音经过我的DSP处理 DENOISE后的效果 [复制链接]

上一主题 下一主题
离线BG5EHX
发帖
4679
只看该作者 20楼 发表于: 2009-07-02
什么时候能出个产品,先订一个,不错的
离线一异
发帖
868
只看该作者 21楼 发表于: 2009-07-02
搞这种东西,建议去找一下美国宇航局搞的话音滤波器的资料,具体叫什么名字我忘记了,很多年以前我见过这资料,现在找不到了。
离线BG5ROJ
发帖
1883
只看该作者 22楼 发表于: 2009-07-02
感谢上面各位的给我在dsp这个新技术起点上的支持和肯定。
  就目前而言,连我自己对产品的效果都不满意, 但另一方面看,这方面我是从零走起的,全部的硬件和软件从头写起, 回望走过的这么远,是不不错的开始,
后面在我空闲时间内将不断发展这个东东,相信最终它的“效果”而不是这种新“技术”能得到大家的肯定,

  上午去ba5rw周老师那边试了下,确实存在很多问题需要改进,不知道能否搞定,不过我会努力的,只要有时间。 很多简单而又合理的要求但变换到数学原理上确实还是满难的, 毕竟我也不是数学系毕业的。

  下面只是适当的调整了下相关的参数, 各位有闲功夫的可以听下。给点意见,同时欢迎大家上传点可供试验的语音数据, 谢谢大家的支持~!de bg5roj
ps:周老师,你听下看,像不像你那台机器开了dsp的效果?

  下一步我要试下上下调整下数字滤波器件的参数看看,采用通用的参数似乎效果现在就这么多啦,看看这种滤波算法能走多远, 如果能直接提取零噪音的语音信号,那就好啦。

:d 最开心的事我在技术上走出的这一步得到了周老师的认可,呵呵~! 下面希望能实用化,让更多的ham能感受到数字化技术在短波通信中的作用,当然还想挣钱啦,不然没钱饿死啦,说的够是在啦,呵呵~!
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BA5RW
发帖
48263
只看该作者 23楼 发表于: 2009-07-02
5roj的dsp效果已经接近我所听过的最先进的带dsp电台的效果,只是噪音处理算法上可能要再略加斟酌,能做到这一步,个人认为做为一个有思想、有理想能付诸行动的爱好者,楼主可以说是国内首屈一指的,也许我是井底之蛙,但是近几年混net,很少见到楼主这样具有钻研精神,走自己道路的爱好者,这正是我们所缺乏的环境和气候。


数字技术在业余无线电领域一定会大有作为的!

努力!加油!
离线BG5ROJ
发帖
1883
只看该作者 24楼 发表于: 2009-07-02
周老师,你听下看我刚上传了一个文件,我就是根据你那台机器调整的, 背景会有噪音,但是声音不会爆音, 该音频前面1s左右是噪音收敛的过程,正好可以比较, 仔细听。
  确实,我觉得玩无线电就是有有研究的精神,人家走过的,你照着脚印踩过去,呵呵,就没啥那个啦。。。

  上面的一异兄可否上传下那份资料我看看啊, 现在非常需要理论方面的知识
离线BA5RW
发帖
48263
只看该作者 25楼 发表于: 2009-07-02
听了audio2dsp文件比第一个处理的效果要好多了,已经和成品的dsp处理效果没什么大的差别,后面最好加两个可调谐的旋钮使可懂度依据不同的机器进行适时调整.
我感觉加上dsp处理后,听起来的确舒适多了.
离线小比尔/5
发帖
2582
只看该作者 26楼 发表于: 2009-07-02
ok的
比fft de-noise要清晰一些
离线阿克甘
发帖
247
只看该作者 27楼 发表于: 2009-07-02
的确是高手,牛啊
离线BG5ROJ
发帖
1883
只看该作者 28楼 发表于: 2009-07-02
今天我重新修改,并模拟下了数字滤波器的上下限等参数,然后对比了下周老师那边那部ft1xxx什么的机器上的dsp效果,我觉得完全可以达到,   只要关掉denoise算法,或采用低级别的denoise,并且开一个128阶的数字滤波器就ok啦,
  毕竟每个人的口味不同,有的不习惯使用denoise算法后的声音,或者太过denoise后的声音, 有的只需要数字滤波器过一便就很满意,等等,周末我带上自己的电台去周老师那边,再试试,
有必要做成多项参数可调整的。
  denoise no/off 1-3级     data filter 上下限,和阶数可以调整, 可以根据自己的喜好选择一个相对不错的接收效果, 现在首要问题就是从哪里搞个matlab来,拿来计算下滤波器的系数,网络慢的要死,要崩溃啦~! 天啊,,,,真是苦其心志~~~~~
离线BG5ROJ
发帖
1883
只看该作者 29楼 发表于: 2009-07-02
'
听了audio2dsp文件比第一个处理的效果要好多了,已经和成品的dsp处理效果没什么大的差别,后面最好加两个可调谐的旋钮使可懂度依据不同的机器进行适时调整.
我感觉加上dsp处理后,听起来的确舒适多了.
'

  周老师,其实程序都是一样的,我就稍微把denoise调弱了些,呵呵,正如你意见,以人为本, 用着舒服就好, 而不要一味追求理论上噪音最小化,但人听着难受~!

  但是我觉得dsp上的denoise算法(不是数字滤波算法),在提取非常细微的信号的时候还是很不行,可能我对dsp的认识有限,我觉得如果真的是用denoise算法的(这可以听的出来)就是换台成品机,周老师今天那么微弱的信号我估计他也无能为力。
  周老师可能要说今天您ft1xxx的表现,呵呵,稍等,我依稀有点感觉,可能我也能做出和他一样的效果,软件模拟上是差不多的,但这东西都要看看后面的实际效果吧,
离线小比尔/5
发帖
2582
只看该作者 30楼 发表于: 2009-07-02
'
现在首要问题就是从哪里搞个matlab来,拿来计算下滤波器的系数,网络慢的要死,要崩溃啦~! 天啊,,,,真是苦其心志~~~~~
'

上电驴下呗(600m啊)
或者搞个scilab算也可以
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BG5ROJ
发帖
1883
只看该作者 31楼 发表于: 2009-07-02
我在网吧下拉, 小比尔,
  问你个问题哦,你知道怎么计算生成这些系数吗? 我每次都用matlab算的,
  不然滤波器如果要可调节的话要保存很多组,
  可以动态算出来的话, 就可以无级可调, 上下边界都是,

  小比尔对这方面看来也比较了解哦, 呵呵, 相信在这方面做了不少的工作,
  很高兴能在论坛上能有一起讨论的ham, 现在的学生真厉害,刚毕业就懂这些,
  当年我刚毕业的时候才碰过51, 哎~~~~!  

  以前喜欢写程序,现在发现控制mcu之类的东西特有意思, :d , 越来越喜欢dsp,
  还有fpga, 他们一般都是搭当,可惜我fpga怎么也不入门,
离线VK3JUZ
发帖
228
只看该作者 32楼 发表于: 2009-07-03
在提取非常细微的信号的时候还是行的
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BD2ALB
发帖
1683
只看该作者 33楼 发表于: 2009-07-03
顶楼上,真不错!用的什么软件?
离线小比尔/5
发帖
2582
只看该作者 34楼 发表于: 2009-07-03
'
我在网吧下拉, 小比尔,
'
过奖
其实吧,我还没入门呢,目前只能yy。专业的关系,这门课是自学的,算是爱好。
找本《数字信号处理》的书,里面就会介绍怎么进行变换,fir的比较好理解,就是生成一个sinc函数然后以某种方式截断,iir的我还没搞明白,比较简单的是冲激响应不变法,我只能做一阶的滤波器。
另外,matlab里可能会有函数实现的源代码吧?
离线小比尔/5
发帖
2582
只看该作者 35楼 发表于: 2009-07-03
fir系数的实现算法 从scilab里偷来的

function [hn]=eqfir(nf,bedge,des,wate)
//<hn>=eqfir(nf,bedge,des,wate)
//minimax approximation of multi-band, linear phase, fir filter
// nf   :number of output filter points desired
// bedge :mx2 matrix giving a pair of edges for each band
// des   :m-vector giving desired magnitude for each band
// wate :m-vector giving relative weight of error in each band
// hn   :output of linear-phase fir filter coefficients
//!
//author: c. bunks date: 18 june 1988
// copyright inria

//get number of cosines

  nc=int(nf/2);
  if nf-2*nc<>0 then,
    flag=0;
    nc=nc+1;
  else,
    flag=1;
  end,

//make frequency grid, desired function, and weight function

  [nb,c2]=size(bedge);
  ngp=nc*16;
  b1=bedge(:,1);
  b2=bedge(:,2);
  sb=sum(b2-b1);
  delf=sb/ngp;
  bp=round((b2-b1)/delf);
  bsum=0;
  for k=1:nb,
    bpk=bp(k);
    et=b2(k)-b1(k);
    fg(bsum+1:bsum+bpk)=b1(k)*ones(1:bpk)+(0:bpk-1)*et/(bpk-1);
    ds(bsum+1:bsum+bpk)=des(k)*ones(1:bpk);
    wt(bsum+1:bsum+bpk)=wate(k)*ones(1:bpk);
    bsum=bsum+bpk;
  end,

//adjust values of ds and wt if filter is of even length

  if flag==1 then,
    fgs=maxi(size(fg));
    if fg(fgs)>.5-%eps then,
      fg=fg(1:fgs-1);
      ds=ds(1:fgs-1);
      wt=wt(1:fgs-1);
    end,
    cf=cos(%pi*fg);
    ds=ds./cf;
    wt=wt.*cf;
  end,

//call remez

  [an]=remezb(nc,fg,ds,wt);

//obtain other half of filter coefficients (by symmetry)

  if flag==1 then,
    hn(1)=.25*an(nc);
    hn(2:nc-1)=.25*(an(nc:-1:3)+an(nc-1:-1:2));
    hn(nc)=.5*an(1)+.25*an(2);
    hn(nc+1:2*nc)=hn(nc:-1:1);
  else,
    hn=an(nc:-1:2)/2;
    hn(nc)=an(1);
    hn(nc+1:2*nc-1)=hn(nc-1:-1:1);
  end,
endfunction
离线BG5ROJ
发帖
1883
只看该作者 36楼 发表于: 2009-07-03
'
在提取非常细微的信号的时候还是行的
'

  你这不属于细微信号哦,
  下次什么时候我录个细微的信号你看看, 就是有用语音被噪音盖掉,
  然后在机器上根本不起表,但耳朵能听出有轻微信号在说话的。
  这种情况下根本不能用denoise算法的,要用多阶的数字滤波才可以,
  但背景会有一定的哄哄噪音,
离线BD2ALB
发帖
1683
只看该作者 37楼 发表于: 2009-07-03
请问5roj老师,什么时候能出成品?耗电电流越小越好,顶--多阶数字滤波!
离线小比尔/5
发帖
2582
只看该作者 38楼 发表于: 2009-07-03
'
你这不属于细微信号哦, [表情] ,
  下次什么时候我录个细微的信号你看看, 就是有用语音被噪音盖掉,
  然后在机器上根本不起表,但耳朵能听出有轻微信号在说话的。
  这种情况下根本不能用denoise算法的,要用多阶的数字滤波才可以,
  但背景会有一定的哄哄噪音,
'

实际上我的录音是经过数字滤波的
因为接收软件自带了,没法关掉
为了把点频机扩展成调频机,偷懒就这么干
离线BD6QZ
发帖
4649
只看该作者 39楼 发表于: 2009-07-03
值得等待啊