基于声卡和Matlab的虚拟信号发生器_二手音频_音频应用论坛 - Powered by AUIOAPP

音频应用论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
热搜: 音频应用

[其他] 基于声卡和Matlab的虚拟信号发生器

[复制链接]
429003 发表于 2006-8-30 03:06:00

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
声卡作为多媒体计算机系统中最基本最常用的硬件之一,其技术已经发展成熟,他同时具有A/D和D/A转换功能,经济方便,目前已经被广泛应用于数据采集和虚拟仪器系统的设计[1,2]。Matlab是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱(data acquisition toolbox)为实现数据的输入和输出提供了十分方便的函数和命令,利用这些函数和命令可以很容易地实现对外部物理世界的信号输出和输入。根据声卡输出信号的原理,采用Matlab软件编程,可以方便地利用声卡输出所需要的三角波、正弦波、方波等多种信号,有效地实现信号发生器的基本功能。
6 |; ]0 N7 W, [! `& `0 t      1基于Matlab和声卡的虚拟信号发生器的设计与实现' s3 b* T7 b; h
( j! X) \5 Y! P" {
      1.1系统实现原理
: j: ], d6 ~6 K9 z7 j7 i" f& q( ]7 p8 p4 M* n! E
      通常PC机配置的声卡提供了麦克风输入和扬声器输出2个接口,他集成了信号输入/输出需要 的模/数转换器(ADC)和数/模转换器(DAC),因此,利用Matlab软件产生的各种虚拟信号通过声卡的DAC单元就可以直接输出。普通计算机与Matlab软件相结合实现虚拟信号发生器的系统结构如图1所示。   6 q' J" _& I; b7 f! r3 v! ?3 p, v" C
3 l" w4 Y0 q8 m7 n% l. K

1 n6 ?( w4 D* m; D4 ]: s" i3 |7 S/ V6 `  d* d* M
      图1中,只需要用音频线将软件系统产生的信号由线性输出(line out)接口引出,就可以通过声卡直接作为信号源输出,显然,在这种虚拟信号发生器系统中,只需要一台带有普通多媒体声卡并安装了Matlab软件的PC机就可以满足要求实现虚拟信号的输出,系统结构简单方便。
$ w3 |5 j' V$ r2 v' x+ E* V$ x) _, E! g2 V: M
      1.2基于Matlab的信号发生器的实现方法9 k9 J( A" z2 n& n; J) h* t
  
; V, L0 F- ^2 L+ \      Matlab的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出,通过调用这些函数和命令可以直接控制声卡输出虚拟信号,在Matlab中用声卡产生虚拟信号的过程如图2所示。    & n4 ^0 O2 d& n( ^0 G5 V
9 s$ L, f2 Z8 m& i$ R. u

5 M) Y9 \) y8 A  @$ d      Matlab的数据采集工具箱提供的控制声卡输出模拟信号的主要函数和命令如下:    , `+ r% F9 }# x1 [& p' v, B
9 Y7 T7 `! U1 G$ J. g8 z
      (1) 初始化操作
% I2 Y( C2 s# p# P* U2 G+ c  " ]( ?  A% _# L* v8 n5 ~) P& |2 r
      Matlab将声卡等设备都作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该 对象的操作来作用对象,所以,首先要为声卡建立一个设备对象。Matlab建立设备对象的函数如下:
) j  _' |9 S) T4 Z9 c% {7 l2 i( g7 k# g+ N" F
0 ?" a2 I: O" L% g

1 T" T4 j2 O3 A3 N      analogouput()为模拟输出设备对象建立函数,通过该函数将声卡映射为Matlab环境中的一个模拟输出设备对象句柄。winsound为声卡设备驱动程序。$ A* o: |. Q+ D; F" m
+ W3 m9 x% a1 A! S
      (2) 添加数据输出通道操作. w; m9 M3 q- c5 \

- d7 A5 b7 r9 E      Matlab中用于添加数据输出通道操作的函数为addchannel,其函数格式如下:  ! ?. b! ~9 ^6 ?

& F  ~; }8 m( k3 O. I) v; f3 [
# `" g8 c" x7 H0 P' `  m& j8 k  F) b# b( b0 E1 |0 Z( P) [' M6 I& k
       其中:ao为声卡对象的句柄(下同),ch为声卡通道号,最大为2通道。; A! q: ~+ c0 I: j5 b2 o0 e
) z, c8 l0 {4 _9 [+ H
      (3) 输出数据操作: w; @% M+ m! O5 p: f

" f/ M0 c6 c7 Z& A      Matlab中用于输出数据操作的函数为putdata,其函数格式如下:4 m$ t% |, r5 V; Z% ?) K( I9 ~1 @
. V8 {8 B9 |+ u# s4 O
      putudata(ao,data)$ `' ^5 ?3 |- c4 a, t

* A0 q' p- n! v  ]' a, d      其中:data为所需要输出的数据。" _/ e) @) ]# e" c6 P5 S% G

. x& _: @. m+ Q" C$ a3 v' |      (4) 启动并触发声卡设备操作+ H; z4 q1 k  j( }6 l+ s

- N$ g: Q6 V9 \; G0 \5 K      当完成输出数据操作后,并没有真正输出数据,必须启动声卡,才能对外输出信号,启动并触发声卡设备操作的命令如下:2 [" z: w# A7 e) M6 Z3 B

. Y* G& M+ ^6 N" \5 g- i7 C      start(ao)8 d! k3 ^* z7 n4 h, T

$ Z7 }2 c2 N: t1 I  E2 |( ]8 Q      (5) 停止并删除声卡设备操作7 G+ f9 u" e# }( x2 ^
: G( a6 n) z! R3 }, y3 y
      信号输出完成后,声卡设备仍然保留在计算机系统中,若不将声卡设备停止并删除,计算机系统中仍会保留该设备,在下次启动虚拟信号发生器系统时将会发出声卡设备仍然在使用的错误信息。从系统中停止和删除声卡设备操作的命令分别如下:3 D9 W9 E  H2 q6 }( A! n& W' \
. K1 _) f3 W2 q$ ^: [* {
0 G* r' k, j7 ]/ R* r" O
      2应用实例
! D" g0 n" X7 e0 p4 X- h) W6 r3 [) s9 C8 a0 z3 r
      利用Matlab的数据采集工具箱和图形用户接口[3]可以方便地通过设计的界面控制输出信号的幅度、频率、宽度等参数,并可以用示波器直接观测,图3为虚拟信号发生器系统的主界面,可以用来产生正弦波信号、方波信号、矩形波信号、三角波信号和随机信号等常用信号。   5 d& n3 j8 s1 h8 o9 e1 X' N( N. p
7 l  ^7 o1 z5 s, l+ I; x, r1 m
; c8 N0 c. k, Y, U( X; f
      这里以三角波虚拟信号发生器为例来说明利用Matlab和声卡输出三角波信号的具体软件实现 方法。三角波信号发生器的参数设置界面如图4所示,他除了可以用于参数设置外,还可以显示输出信号的模拟波形。   
/ b+ l2 ]9 M2 l; P6 s3 d+ _3 `9 M, ?/ ], e. T' H/ S2 c* F

; ^1 T8 t0 f% x' P8 p      采用Matlab实现的具体程序如下:   
( C# v: @- k# S5 s$ m4 `5 {
6 y5 N" v6 `) D$ U" r
0 a+ n) [% }, g, z9 X      3结语
$ ?) q/ _, h/ v2 G: n1 Y) q3 q, i" ]% a2 I2 N
      Matlab的数据采集工具箱和图形用户接口提供了十分简便的实现声卡输出功能的命令和函数 ,利用Matlab和声卡设计虚拟信号发生器十分方便,而在硬件上只需要一块声卡,无需添加 任何其他设备,价格十分便宜。虽然声卡的设计是以产生声音为目的,有效的音频范 围和输出电压的幅度在一定程度上限制了他的使用,但这已完全能满足产生基本信号源的 要求。在本设计的基础上,通过进一步的Matlab编程或硬件上的改进和扩展,可以实现一些 常规仪器设备不能产生的信号,这在实际应用中具有广泛的推广应用前景。
zgyxwz 发表于 2010-2-3 08:44:38
谢谢楼主发布,好文章,收藏了啊
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

软硬产品代理咨询服务:声卡:雅马哈UR22C、罗兰声卡、福克斯特、艾肯、阿波罗 、M-audio 、普瑞声纳 、福克斯特、 达思冠系列 音箱:吸顶NS-IW560C、吸顶NS-IW660 、NS-AW350、低音NS-SW050、低音NS-SW100;JBL 吸顶8124、CSS-8006BM;香蕉猴 gibbon系列;普瑞声纳E5XT、E4.5、 E3.5BT 有线话筒:舒尔PGA27、PGA48、MV51、mv88、mv88+、SM27 ;森海E945 、MK4、E835S;舒伯乐top248s;罗德NT1-A、VIDEOMIC、VIDEOMIC GO、VideoMicro、VideoMic NTG 无线领夹麦克风:罗德 wireless go II 一拖一、一拖二;猛犸lark150 耳机:森海HD300 pro、美奇 CR-Buds 、索尼7506、爱科技K240S、K240 MKII、K271 MKII、K52、K72、K92、先锋、飞利浦 1:飞利浦会务通/会议摄像头/全向麦克风/执法仪/录音笔 2:洋铭便携式移动演播室 / 切换台 / 摄控一体摄像机 / 虚拟演播室 / 微金课教室 / 色键器 3:逻兰音视频切换台 / 声卡 / 电子鼓 /电钢琴 /耳机 4:Blackmagic专业摄影机 /调色台 / 切换台/ 广播级转换器 / 监视器 / 采集卡 5:索尼专业摄像机/佳能专业摄像机/松下专业摄像机/ insta360专业摄像机 6:话筒:铁三角/ 舒尔/ 森海塞尔 / AKG / RODE/ BBS 7:音响:YAMAHA/ 声艺 / 皇冠 /JBL / 真力/咪宝/BOSE /美奇 8:声卡:RME/羚羊/IXI /艾肯/PreSonus普瑞声纳/Focusrite福克斯特/YAMAHA/雅马哈/ickb 9:耳机:铁三角/beyerdynamic拜亚动力/AKG爱科技/索尼/RunningMan/美技 10:思锐三脚架 /防潮箱 /米泊三脚架/意美捷三脚架/曼富图三脚架 11:XSW系列,300.500代理商,EWD数字系列代理,6000.9000定制产品,还包销了全国三个型号:XSW1-825,EW100 G4-945,EWD- kk 205

小黑屋|手机版|Archiver|音频应用 (鄂ICP备13005321号-1)

Powered by Audio app

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