矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 11408|回复: 23

DSP学习

[复制链接]
     
发表于 2008-2-14 22:32:42 | 显示全部楼层 |阅读模式
我来班门弄斧,请同行多提问题,指正错误。为荷!
$1.常识
(1)DSP是什么?
     DSP是Digital Signal Processing的缩写,就是数字信号处理。
(2)DSP的好处多多
     a. 无累计误差
       例:VHS录像带复制几代后图像会变差,VCD/DVD复制几代后图像还是一样。
     b. 不会飘移
        例:烟头烫2AP9后声音会变大,DSP后的信号不会随温度等的变化而漂移。
     c. 功能可变
        例:模拟电路的功能更改时,电路和PCB要重新设计。DSP只要改写软件,功能就更改了。
     d. 特技处理
        例:线性相位相应,选择性滤波,频谱分析,PS, 美女渐变老虎,CDMA, 文字变声音 ... (这些是模拟电路无法实现的)。
(3)DSP的欠缺
     a. 高速DSP价贵
        例:常规DSP的带宽在100MHz左右,太高了贫下中农玩不起。
     b. 字长问题
        例:模拟示波器的波形是可信的,数字示波器的波形会因为字长不够而丢失一些细节。
     c. 软件虫
        例:智者千虑,必有一失,喝酒后写出的软件虫更奇异。
     d. 烦恼多多
        例:收费电视 ...
(4)DSP的应用
     a. 音频/视频/射频的变声/特技/信道复用;
     b. 传真/猫/ADSL;
    c. 机器视觉;
     d. 卫星云图;
     e. 雷达,声纳,制导;
     f. 保密通信,回波抑制,降噪;
     g. X射线/B超/CT增强,ECG分析,EEG脑电波;
     h. 频谱分析,信息资料压缩;
     ......
     
发表于 2008-2-15 09:11:22 | 显示全部楼层
dsp与单片机的区别不仅处理的位数多(16位以上),速度快,还带有乘法器或者叫数据协处理器等部件。

其实在原理和应用方法上和单片机很相似。只是应用的领域不太一样,单片机更适合一些诸如现场测量,个人家用娱乐,玩具,保健等简单控制场合,而dsp则更适合音视频、信息处理,人机界面等高速场合。

我没有学tms320 arm 等系列,更喜欢用16位 pic准dsp系列,一般场合足够用了。
     
发表于 2008-2-15 10:20:09 | 显示全部楼层
学习DSP开发是否需要学习工程数学等?单片机是不大需要高等数学的。
发表于 2008-2-15 12:02:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
     
 楼主| 发表于 2008-2-16 13:05:16 | 显示全部楼层
原帖由 崂山 于 2008-2-15 09:11 发表
dsp与单片机的区别不仅处理的位数多(16位以上),速度快,还带有乘法器或者叫数据协处理器等部件。
其实在原理和应用方法上和单片机很相似。只是应用的领域不太一样,单片机更适合一些诸如现场测量,个人家用娱乐 ...


崂山前辈是行家,谢谢!
我想DSP与单片机的另一个区别可能在于: DSP通常处理的是实时[信号]而单片机/PC通常处理的是事后[事件].
低档的TMS320C31是32位CPU,浮点DSP.
有些DSP系统要求多个(如:ALTERA FPGA有16个)DSP并行处理,这和单片机/PC-OS的多任务/多线程在本质上不同,也没有后者的[相互死锁][饥饿][读写争夺]等问题.
例: skeleton code
program Multi-Processes;
cost n = ... ; {number of processes}
procedure P(i: interger);
begin
  parbegin
    P(1);
    P(2);
    ...
    P(n);
  parend
end

[ 本帖最后由 Julie 于 2008-2-16 13:07 编辑 ]
     
 楼主| 发表于 2008-2-16 14:20:36 | 显示全部楼层
原帖由 yzhkpli 于 2008-2-15 10:20 发表
学习DSP开发是否需要学习工程数学等?单片机是不大需要高等数学的。


DSP的理论分析会用到复变函数,群论,概率统计,模糊逻辑等,
DSP的开发主要是列表,算系数....
象我这样的初学者只要懂得乘,加,减,移位,进位和一些工程计算程序(如:MATLAB)就敢捣鼓它了.
     
发表于 2008-2-16 16:52:51 | 显示全部楼层
酱紫。谢谢Julie兄~~
     
 楼主| 发表于 2008-2-17 06:33:31 | 显示全部楼层
$2. DSP系统

DSP00.jpg

注意:输出的模拟信号y(t)和输入的模拟信号x(t)可以是相同的(高保真)也可以是不同的(好的失真)。
      好的失真指的是我们所期望要的失真,而不是模拟电路中我们要避免的那种坏的失真。
有了DSP,一个鸭嗓子只要跟得上节奏就赛得过超级女声。
     
发表于 2008-2-17 11:09:11 | 显示全部楼层
原帖由 Julie 于 2008-2-16 14:20 发表


DSP的理论分析会用到复变函数,群论,概率统计,模糊逻辑等,
DSP的开发主要是列表,算系数....
象我这样的初学者只要懂得乘,加,减,移位,进位和一些工程计算程序(如:MATLAB)就敢捣鼓它了.


单片机也可以进行一些傅立叶变换TFT算法等,只是速度和规模,时间和空间要安排好。
对于简单的查表,数字滤波等也能够胜任,模拟一些简单的双端口参数也行的。有些我都甚至用8位的单片机来完成。
当然,如果用16位的就更完美了。

32位机(dsp) 我仅在试验室练练。

我在工业现场工作虽然有年,接触一些复杂现场测控的机会并不是很多,我接触的工业现场,没有dsp的位置。
我个人的体会,和实际做法是:
工业现场用8位单片机和16位单片机 或者西门子PLC来完成现场数据的采集A/D转换、显示、报警设定等工作,如果需要进一步的信息分析和处理,就根据情况上高速或低速现场总线(例如 485  can  gpib 等),我都是用VB或delphi自己编程来进行进一步的、更为复杂的算法或处理。
顺便说明,我不会VC 这是我的遗憾,尽管vb用的得心应手。
工程数学(线性,复变,积分变换)是工业数据采集的必备,matlab也可以辅助,群论没有学过。
     
 楼主| 发表于 2008-2-18 03:51:43 | 显示全部楼层
$3. DSP怎样玩?
1. 假玩
    找个带龟(GUI)的工程计算软件(如:MATLAB),选几个DSP的功能模块,构思其结构和算法,看看虚拟的结果,过过DSP瘾。
2. 真玩
    买一个DSP入门套件,如淘汰的TMS320C31 DSK(DSP STARTER KIT, TI, 32位, 50MHz), 地主富农也可直接买一个TMS320DM643x-xxx DSK(64位,300~600MHz)或TMS320C645x-xxx DSK(64位,720~1200MHz),装载你根据DSP模块开发的程序,验证其实际成果(功能,指标,稳定性 ...)
    然后你就可以单独用DSP芯片设计成最小系统(单独的或嵌入的),园你的DSP梦.
     
 楼主| 发表于 2008-2-18 17:43:56 | 显示全部楼层
$4. DSP应用1 – [原创] 梳状滤波器
限于器件的Q值(L,C,SWAF,DL, X, RS,…),用模拟电路实现高性能的梳状滤波器是很难的,如果再要求这个梳状滤波器是可自适应的,那么用模拟电路几乎就不可能实现. 用DSP则很容易.

MATLAB program for MNBPF (Julie 18/02/2008)

d=[zeros(1,20),1];
d=[d d d d d d d d];
m=[zeros(1,13),d,zeros(1,20)];
f=[0:0.005:1];
[b,a]=yulewalk(51,f,m);
[h,w]=freqz(b,a,128);
plot(w/pi,20*log10(abs(h)))

Result:
1)Filter order = 51;
2)Numbers of NPB’s = 8;
3)Max pass-band Att = 4.8dB;
4)Min stop-band Att = 50.5dB.

mnbpf.JPG

注意:这是个8窄带,带阻高达50dB的梳状滤波器.
相比之下,模拟电路做个40dB的宽带普通BPF就已经不容易了.
     
 楼主| 发表于 2008-2-18 20:46:29 | 显示全部楼层
$5. DSP应用2 – [原创]把被噪音掩没的信号揪出来

利用DSP的相关处理技术,可以优化低信噪比的信号.

Corr.JPG

但是,由于环境的噪音,当一个雷达探测到远处的目标时,收到回波中的信号经常被掩没在噪音里,用矢量示波的方式在雷达屏上显示出来,就是经验丰富的雷达操作员都很难分辨出是目标.

SS.JPG

用DSP的DFT将时域信号转成频域信号,信号还是被掩没在噪音里无法分辨.

FF.JPG

考虑到信号的相关性,我试着用一种历史帧储存列表处理法,用DSP就可以把被噪音掩盖掉的信号揪出来.

BB.JPG

注意: 在输出帧中的信号已经浮出噪音.

DSP的这种技术可以用来处理无线电的同频噪音调制干扰,但对于用民乐调制的同频干扰就无能为力了.
     
 楼主| 发表于 2008-2-19 10:59:35 | 显示全部楼层
$6. DSP实验 用TMS320C31 STARTER KIT做的FIR带通滤波器

1. 指标:中心频率:2150 Hz
        带宽:400 Hz
        阻带:800 Hz
        阻带衰减:50 dB
2. 设计:采样频率:9765.5Hz  (DSP晶振:50.000MHz)
          算法:Optimum  
        MATLAB program: (?会出怪字符,只好用贴图方式)

J-BPF.jpg

J-BPF-TTU.jpg

FIR Optimum Coefficient Calculation:
BPFop.asm:
------------------------------------------------------------------------------------------
ADC_recv
.FLOAT  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
.FLOAT  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
.FLOAT  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
.FLOAT  0.0,

FIR_coef
.FLOAT -9.385346e-04, -4.694695e-03,  3.763390e-03,  2.323693e-02,
.FLOAT  2.694312e-03, -5.605288e-02, -3.522902e-02,  8.624895e-02,
.FLOAT  9.709550e-02, -8.317186e-02, -1.631546e-01,  3.499939e-02,
.FLOAT  1.917821e-01,  3.499939e-02, -1.631546e-01, -8.317186e-02,
.FLOAT  9.709550e-02,  8.624895e-02, -3.522902e-02, -5.605288e-02,
.FLOAT  2.694312e-03,  2.323693e-02,  3.763390e-03, -4.694695e-03,
.FLOAT -9.385346e-04 ,
------------------------------------------------------------------------------------------------
修改FirFilt.asm (参阅上传的附件)
连接好电脑和DSP STARTER KIT
下载BPFop.asm 文件:
运行:dsk3a ;  
     dsk3d;
     reset;
     load firfilt;
     runf;
3.验证:
用信号发生器和毫伏表实测结果如下:
信号发生器Vo=4.00V (正弦), 逐点测量
  f(Hz):  100  1000  1100  1150  1200  1300  1400  1500  1600  1700  1800  1900  1950
Vout(V): 0.01  0.01  0.01  0.02  0.04  0.12  0.31  0.73  1.22  1.70  2.82  3.14  3.41
  f(Hz):  2000  2100  2150  2200  2300  2350  2400  2500  2600  2700  2800  2900  
Vout(V):  3.66  3.96  4.00  3.92  3.60  3.32  3.00  2.32  1.60  0.96  0.56  0.32
  f(Hz): 3000  3100  3150  3200  3300  3400  4800
Vout(V): 0.17  0.03  0.02  0.01  0.01  0.01  0.01
附注:毫伏表在测量10mV以下电压时指针已摇摆不定,全部算10mV
     
发表于 2008-2-19 11:03:03 | 显示全部楼层
嗯,不错。
提个题目:谁能用DSP做一个收音机?AM就可以了。
     
 楼主| 发表于 2008-2-19 11:17:35 | 显示全部楼层
结果比较:红线是实测结果

Result.jpg
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-6-17 07:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表