您当前的位置:五五电子网电子知识电子制作仪表-仪器用PC机声卡作示波器/频谱仪的实验 正文
用PC机声卡作示波器/频谱仪的实验

用PC机声卡作示波器/频谱仪的实验

点击数:7659 次   录入时间:03-04 11:50:32   整理:http://www.55dianzi.com   仪表-仪器

  PC中的声卡不仅能输出和录制各种音频信号,利用其内部的A/D变换器,通过编写程序还可以用来对外部的模拟信号进行采样,并在PC的屏幕上显示出该信号的波形曲线和频谱曲线,把PC作为示波器和频谱仪来使用。
  
  一、功能
  
  1.-路被测信号从声卡左声道输入,信号波形曲线或频谱曲线的单踪显示;
  
  2.一路被测信号从声卡右声道输入,信号波形曲线或频谱曲线的单踪显示;
  
  3.两路被测信号分别从声卡的左声道和右声道同时输入,信号波形曲线或频谱曲线的双踪显示;
  
  4.两路被测信号分别从声卡的左声道和右声道同时输入,使两路信号相加的信号波形曲线的单踪显示,或使两路信号频谱曲线相加的频谱曲线的单踪显示;
  
  5.两路被测信号分别从声卡的左声道和右声道同时输入,使两路信号相减的信号波形曲线的单踪显示,或使两路信号频谱曲线相减的频谱曲线的单踪显示;
  
  6.一路被测信号和一路基准信号分别从声卡的左声道和右声道同时输入,左声道信号作为X轴信号,右声道信号作为Y轴信号,信号的李萨育图形的显示;
  
  7.测量信号波形时,显示X轴刻度线每格的时间数值;
  
  8.测量信号频谱时,显示X轴刻度线每格的频率数值;
  
  9.测量信号波形时,正触发同步、负触发同步和非同步的显示方式;
  
  10.测量信号波形、频谱和李萨育图形时,0db、-20db、-40db、-60db和-80db的5级信号幅度固定衰减设置及分10级的滑动键调节的20db增益调节;
  
  11.测量信号波形、频谱和李萨育图形时,-10至+10分20级的曲线显示中心位置的调节;
  
  12.测量信号波形、频谱和李萨育图形时,1至100级的X轴尺度的调节;
  
  13.刻度线的显示与隐藏;
  
  14.800Hz、11025Hz、22050Hz、44100Hz、48000Hz、64000Hz、88200Hz和96000Hz的8种声卡采样频率的设置。
  
  二、性能
  
  1.测量信号波形时,最低测量频率:1Hz;
  
  2.测量信号波形时,最高测量频率:当声卡采样频率设置为44100Hz时,6KHz,声卡的采样频率越高,可测量的频率越高;
  
  3.测量信号频谱时,最高谐波显示:当声卡采样频率设置为44100Hz时,14KHz,声卡的采样频率越高,可显示的频率越高;
  
  4.要求被测信号幅度的峰-峰值小于2伏;
  
  5.横轴刻度误差小于5%。
  
  三、对计算机和运行环境的要求
  
  对计算机的要求是586及以上的PC,运行环境是Windows9x/2000的系统,当然还要安装好声卡硬件和它的驱动程序。
  
  四、程序使用方法
  
  先把声卡的录音功能设置成有效。在Windows界面的右下角有一个小喇叭的图标,用鼠标左键双击该图标,出现电平控制对话框。鼠标左键单击左上角的“选项”菜单项,出现子菜单。左键单击“属性”,出现录音和回放设置对话框。选中“录音”项,再选中其中的外部线路输入(LineIn),出现电平控制对话框。根据各种声卡增益的不同,把电平控制滑块推到合适的位置,滑块的位置越高,声卡的增益越高;并选中它们,关闭对话框。打开资源管理器,把本文提供的可执行文件ICysbq.
  
  exe拷贝到PC中的某个文件夹内,用鼠标左键双击该文件名,出现程序界面。然后,用鼠标左键单击(以下简称单击)在程序界面的左上角的兰色三维图标,出现菜单选项。单击“设置总增益、声卡支持的最高采样频率”项,出现对话框。设置好里面的选项,程序默认的设置是:增益为-40db,声卡采样频率22050Hz。
  
  最后,单击程序界面上相应的按钮,选择相应的功能,开始测量。程序界面如图所示。

  五、硬件连接
  
  用一根双芯音频屏蔽电缆与一个直经3.5mm的立体声插头连接在一起,插入声卡的线路输入端(LINEIN)。如果被测信号幅度的峰-峰值大于2伏,要用衰减器对其衰减,以免出现信号切顶失真或过高的信号电压损坏声卡。
  
  六、编程方法步骤
  
  程序是在VC++6.0简体中文企业版环境中用面向对象的方法设计编译的。
  
  1.建一个新文件夹,用于存放编程过程中生成的文件和子文件夹。
  
  2.让VC++6.0自动建立基本对话模式的程序框架。运行VC++6.0,出现主界面。单击左上角的“文件”菜单项,弹出子菜单,单击“新建”项,出现对话框。单击“工程”单里的“MFCAppWizard(exe)”项,在“工程”文本输入框中输入你给程序取的名字,最好取有一定意义的名字,如作者取的名字是Icysbq,单击下面文本输入框右侧的浏览按钮,用浏览的方式选择在第1步骤建立的文件夹,单击下面的“确定”按钮,出现新的对话框。选择“基本对话”,单击“下一步”,出现新的对话框。再单击“下一步”,出现新的对话框。选中“当Staticlly连接库”,单击“完成”按钮,出现信息提示对话框。单击“确定”按钮。至此,VC++6.0就自动建立了基本对话模式的程序框架。如果读者要建立动态连接库形式的程序,就在上述的选中“当Staticlly连接库”的对话框中改选“当共享DLL”,这样将来编译成的可执行文件就只能在安装有VC++6.0的PC中运行,给没有安装VC++6.0的用户在使用上带来不方便,但可执行文件的大小会更小。
  
  3.制作程序界面。单击工具栏的“WorksPACe”按钮(该按钮只是一个图标,上面没有该文字提示,当你用鼠标剑头指向该按钮时才出现该文字。),屏幕左边出现显示栏,单击该栏下面的“RsourcefileWive”项,屏幕右边出现程序界面。单击该界面的空白处,调整该界面的边框,使界面的大小合适。单击界面上的文字“TODO:
  
  在这里设置对话控制”,按键盘上的“Delete”建,删除该项,用同样的方法,删除“确定”和“取消”按钮。鼠标右键单击屏幕上边菜单栏的空白处,出现选择菜单,单击“Controls” 项,出现控件栏。按照附图的程序界面图,并以控件类型为顺序放置各个控件。
  
  4.编辑程序界面上控件的属性。右键单击程序界面的空白处,出现属性对话框,在标题栏中输入你喜欢的程序界面标题,如本文的是“虚拟仪器一声卡示波器、频谱仪设计一李朝友”,也可再选择一些你喜欢的其他的属性。用同样的方法设置其它控件的属性,滑动控件设置“方位”项为“Vertical-垂直”,“点”项为“Left-左”,选定“Tickmarks”和“Aoutmarks”。文本编辑框控件,用于显示横坐标刻度的数值,设置成“只读”。“L+R”按钮、“正同步”按钮和“波形”按钮的属性设置为“group”型,“连续”按钮的属性设置为“默认”。在另一个对话框中,用同样的方法,把用于设置总增益按钮的第一个按钮的属性设置为“group”型,并把其和第三个按钮交换位置;设置声卡支持的最高采样频率值按钮的第一个按钮的属性设置为“group”型,并把其和第三个按钮交换位置。
  
  5.给程序界面上的控件建立变量和消息函数。按住键盘上的CTRl键的同时,用鼠标左键双击第一个滑动控件,出现变量设置对话框,输入值变量名,如本文的变量名为m_sliderlv。再用同样的方法输入控制变量名,如本文的控制变量名为m_sliderlc。再鼠标右键单击该按钮,出现菜单选项,选择“Events”,出现消息设置对话框,选择“NM_CUSTOMDRAW”,其它的滑动控件按同样方法设置,其他的按钮控件选择“BN_CIICKED”消息,最后,单击“OK”。
  
  6.把相应的文件考入在第1步骤建立的文件夹下的lcysbq子文件夹里。打开Windows的资源管理器,把本文提供的声卡采样函数原文件LcyWavelnlib.cpp考入上述文件夹里。
  
  7.把声卡采样函数原文件LcyWavelnlib.cpp加入到工程。单击“FileView”选项卡,右键单击“IcysbQFIles”,出现菜单,单击“AddFilestoProject”,出现对话框,选择LcyWavelnlib.cpp文件,单击“确定”。
  
  8.把系统的多媒体库函数winmm.lib连接进工程。单击工具栏的“工程”按钮,单击“设置”,选择“Link"选项卡,在“对象/库模块”输入框中,输入winmm.lib,单击“确定”。
  
  9.建立定时器和色彩控制消息函数。依次单击左边显示栏下边的“ClassViwe”和栏中的“IcysbqClass”右边的“+”号,右键单击“ClcysbqDlg”,出现菜单,单击“AddWindowsMessageHdaler”,出现消息选择栏,依次单击“WM_TIMER”和右边的“AddEdit"按钮。用同样的方法,建立“WMCTLCOLOR”消息函数。

[1] [2]  下一页


本文关键字:示波器  频谱仪  仪表-仪器电子制作 - 仪表-仪器