基于matlab的数据采集器设计内容摘要:
期的标准 CPU 内核提高了数倍,而且有着极低的功耗。 这种单芯片解决方案降低了系统的成本和设计的复杂性。 此外,为了解决 SOC 方案中数据处理性能的不足,采用 DSP 作为数据采集系统的 CPU 的研究与应用目前也逐渐引起业内重视。 但是这类产品目前仅仅处于发展的初级阶段,在精度、速度或其它性能指标上并不能很好的满足要求。 因此,国内外以 DSP 作为数据采集系统的采样控制和分析运算的研究与应用正在 基于 Matlab 的数据采集器设计 第 3 页 共 46 页 展开。 近年来随着芯片技术、计算机技术和网络技术的发展,数据采集技术取得了许多新的技术成果,市场上推出了繁多的新产品。 高速数据采集技术的发展一方面是提高采集速率,另一方面不断向两端延伸。 一端是输入的信号调理,另一端是采集后的数字化信号的实时处理与事后处理。 20 世纪 90 年代末,随着数字技术快速发展,数据采集技术 已向着并行、高速、大量存储、实时分析处理、集成化等方向发展。 (1)采样方式 ① 过采样( Over Sampling) [13]。 采样方式中最早是过采样,根据采样定理,采样频率 fs 必须高于被采信号最高频率 fch 的两倍,才不致产生频率混叠现象。 例如信号最高频率为 10kHz,采样频率必须高于 20kHz。 ② 欠采样( Under Sampling) [15]。 在通信和动态数据的采集中,发展了一种欠采样技术,即采样频率 fs 可以低于信号频率 fch,但信号的频带宽度不得大于 ,利用采样信号产生的高次谐波,将采 样后的信号移至第二或者更高的奈奎斯特区。 例如采样频率 fs 为 10kHz,可对频带 fch 落于 11~ 14kHz 的信号 (频带宽度为 3kHz,低于 =5kHz)进行欠采样。 于是在采样频率 2 次谐波两边产生的采样后的信号频带为 f2ch = 2fs177。 fch = 20 kHz177。 (11~ 14 kHz)= 31~ 34 kHz,或9~ 6 kHz ③ 等效时间采样( Equivalent Time Sampling) [19]。 主要是对于重复的周期波形进行等效时间采样。 例如美国泰克公司的 TDS784D 数字存储示波器,其实际的采 样频率为 1 GS/s( 1GHz ),对于重复的周期信号,采取周期微差法,可以达到 250GS/s(250GHz)的等效时间采样。 例如对于 1 GHz 的方波,进行周期微差法采样,每个周期的采样只有微小的时差,将若干个周期中的样点集中排列,即可测出方波上升沿和下降沿的波形。 对于单次瞬态信号,这种方法是无效的。 ④ 变速率变分辨率采样。 (2)采集方式的发展 ① 扫描式采集( Scanning Acquisition):时分制、多通道巡回采集。 ② 并行式采集( Parallel Acquisition):多 个通道同步并行采集,每个通道采用一个独立的 A/D 转换器,通道采集速率只取决于 A/D 的转换速率,与通道 基于 Matlab 的数据采集器设计 第 4 页 共 46 页 数无关。 ③ 交替采集( Internative Acquisition) [21]:一个通道由多个 A/D 转换器交替采集,使每个通道采样速率等于多个 A/D 的转换速率之和,可以高于单个 A/D的转换速率。 (3)采集数据的实时分析与处理软件 目前国外的测试仪器或系统生产厂家,在生产硬件的同时,推出其相应的支持软件或软件开发平台,如为产品开发者提供的软件工具;为系统集成者提供系统应用软件的集成的环境;为终端用户提 供编写自己的用户应用程序的手段。 本文主要内容和章节安排 本文完成了一种基于 Matlab的数据采集系统的方案的设计,实现了在 Matlab环境下利用声卡和 Matlab 数据采集工具箱进行的数据采集与分析。 全文的结构安排如下: 第一章 绪论,说明了 基于 Matlab 的数据采集器设计的 研究背景 ,提出课题的研究 意义 ,并了解 国内外 研究 现状以及系统的发展 趋势。 第二章 主要 对数据采集原理进行探讨,首先介绍了数据采集原理,指出了数据采集的理论依据及混频差的计算。 再者,着重介绍了数据采集 系统结构特点 、 性能 指标及几种常见结构。 第三章 本章主要探讨了如何利用 Matlab 数据采集工具箱设计基于Matlab 的数据采集器。 首先,本文对 Matlab 进行了一些简略的介绍,让读者对Matlab 的特点、应用及优势有了大致的了解;接下来,着重介绍了 Matlab 数据采集工具箱,针对数据采集工具箱内部结构及其使用方法进行阐述;最后,对怎样利用 Matlab 数据采集工具箱实现实时数据采集进行探讨,设计数据采集命令流程。 第四章 本章主要根据课题要求设计利用多媒体声卡设计基于 Matlab的数据采集器。 首先,提出了 系统结构框图,并进行了系统功能设计;然后,对数据采集系统硬件进行配置,以实现数据采集;接着,针对系统功能进行软件设计,主要设计了以 Matlab为平台的数据采集程序,并对其进行视图化界面设计;最后,对本数据采集系统进行调试仿真,给出结果图并得出结论。 第五章 主要对 本设计进行总结。 基于 Matlab 的数据采集器设计 第 5 页 共 46 页 2 数据采集系统 分析 数据采集原理 在计算机广泛应用的今天,数据采集的重要性是十分显著的。 它是计算机与外部物理世界连接的桥梁。 各种类型信号采集的难易程度差别很大。 实际采集时,噪声也可能带来一些麻烦。 数据采集时 ,有一些基本原理要注意,还有更多的实际的问题要解决。 假设现在对一个模拟信号 x(t) 每隔 Δ t 时间采样一次。 时间间隔 Δ t 被称为采样间隔或者采样周期。 它的倒数 1/Δ t 被称为采样频率,单位是采样数 / 每秒。 t=0, Δ t,2 Δ t,3 Δ t „„ 等等, x(t) 的数值就被称为采样值。 所有 x(0),xΔ t),x(2Δ t) 都是采样值。 图 显示了一个模拟信号和它采样后的采样值。 样间隔是 Δt,注意,采样点在时域上是分散的。 图 模拟信号和采样显示 如果对信号 x(t)采集 N 个采样点 ,那么 x(t)就可以用下面这个数列表示: {x(0),x(Δ t),x(2Δ t),x(3Δ t),x(4Δ t),x(5Δ t)…… x(kΔ t)…… } 这个数列被称为信号 x(t)的数字化显示或者采样显示。 注意这个数列中仅仅用下标变量编制索引,而不含有任何关于采样率 (或 Δ t)的信息。 所以如果只知道该信号的采样值,并不能知道它的采样率,缺少了时间尺度,也不可能知道信号x(t)的频率。 根据采样定理,最低采样频率必须是信号频率的两倍。 反过来说,如果给定 基于 Matlab 的数据采集器设计 第 6 页 共 46 页 了采样频率,那么能够正确显示信号而不发生畸变的最大频率叫做恩奎斯 特频率,它是采样频率的一半。 如果信号中包含频率高于奈奎斯特频率的成分,信号将在直流和恩奎斯特频率之间畸变。 图 显示了一个信号分别用合适的采样率和过低的采样率进行采样的结果。 采样率过低的结果是还原的信号的频率看上去与原始信号不同。 这种信号畸变叫做混叠 (alias)。 出现的混频偏差 (alias frequency)是输入信号的频率和最靠近的采样率整数倍的差的绝对值。 图 不同采样率的采样结果 图 给出了一个例子。 假设采样频率 fs 是 100HZ, 信号中含有 2 70、160、和 510Hz 的成分。 采样的结果将会是低于奈奎斯特频率 (fs/2=50 Hz)的信号可以被正确采样。 而频率高于 50HZ 的信号成分采样时会发生畸变。 分别产生了30 、 40 和 10 Hz 的畸变频率 F F3 和 F4。 基于 Matlab 的数据采集器设计 第 7 页 共 46 页 图 说明混叠的例子 计算混频偏差的公式是: 混频偏差= ABS(采样频率的最近整数倍-输入频率 ) 其中 ABS 表示 “ 绝对值 ” ,例如: 混频偏差 F2 = |100– 70| = 30 Hz 混频偏差 F3 = |(2)100– 160| = 40 Hz 混频偏差 F4 = |(5)100– 510| = 10 Hz 为了避免这种情况的发生,通常在信号被采集 (A/D)之前,经过一个低通滤波器,将信号中高于奈奎斯特频率的信号成分滤去。 在图3的例子中,这个滤波器的截止频率自然是 25HZ。 这个滤波器称为抗混叠滤波器。 采样频率应当怎样设置呢。 也许你可能会首先考虑用采集卡支持的最大频率。 但是,较长时间使用很高的采样率可能会导致没有足够的内存或者硬盘存储数据太慢。 理论上设置采样频率为被采集信号最高频率成分的 2 倍就够了,实际上工程中选用 5~ 10 倍,有时为了较好地还原波形,甚至更高一些。 系统结构组成 数据采集系统主要由两部分组成:采集子系统和计算机子系统,即下位机智能数据采集系统和上位机 HMI( Human Machine Interface)系统。 采集子系统实现将客观世界被测对象信号采集和转换为能被计算机处理的数字信号的功能等;计算机子系统实现对采集数据的控制、存储和处理等功能,计算机起着对采集数据的存储和处理、统计分析、提供人机接口与其他计算机的数据通信和交换的功能。 基于 Matlab 的数据采集器设计 第 8 页 共 46 页 数据采集系统涉及多学科,所研究的对象是物理或生物等各种非电或电信号。 根据各种非电或电信号的特征,利用相应的归一化技术,将其转换为 可真实反映事物特征的电信号后,经 A/ D 转换器转换为计算机可识别的有限长二进制数字编码,以此作为研究自然科学和实现工业实时控制的重要依据,实现对宏观和微观自然科学的量化认识,典型的数据采集系统组成如图 21 所示。 图 典型数据采集系统的组成 而一般的外置式数据采集系统结构如图 22 所示。 模拟信号由传感器采得经过信号调理模块送入数据采集硬件设备。 在数据采集设备中完成 A/ D 转换,包括采样、量化、编码,转化成数字信号后送入与之相连的 PC 机中。 根据不同的要求,在 PC 机上利用 Matlab 以及二次编程实现数据的实时分析与处理。 用户可以通过人机交互界面修改、设定各项参数来控制数据采集硬件设备的工作状态,同时可以得到数据的采集与分析结果, 从而实现数据采集与分析的自动化。 图 一般的外置式数据采集系统结构 利用声卡在 WINDOWS 环境下开发数据采集系统时,由于受编程语言的限制,其数据分析与处理的功能非常有限。 例如,为了对所采集的数据进行功率谱传感器 物理量 信号调理 数据分析 变换器 数据采集硬件 CPU SOFTWARE 信 号 源 传 感 器 信号调理 数据采集备 软件环境MATLAB 信号处理与分析 PC 机 基于 Matlab 的数据采集器设计 第 9 页 共 46 页 分析,则需要用户以 VB 或 C 语言来编写功率谱分析的 子程序,这显然增加了开发的难度,并且也极不利于分析功能的进一步扩展。 而利用声卡作为 A/ D 转换工具,经过衰减和取样电路得到的模拟信号送至声卡的线路输入端 LINEIN,并利用 Matlab 中提供的数据采集工具箱,可满足控制声卡进行数据采集的要求。 用户通过调用 Matlab 命令,可对采集的数据进行分析和处理。 整个系统可分为数据采集和数据分析两大部分,以友好的图形界面与用户进行交互沟通。 数据采集部分实现数据采集功能,根据用户选择的采样频率和预设的采样时间,从声卡获得用户需要的数据;数据分析部分对采集到的数据进行 频谱分析。 全部数据的时域和频域波形以图形方式直观地呈现于用户面前。 此外,还提供保存数据以及回放数据的功能。 系统的特点和性能指标 现代数据采集系统发展到今天,一般来说具有如下主要特点: ( 1)现代采集系统一般都由计算机控制,使得数据采集的质量和效率等大为提高,也节省了硬件投资。 ( 2)软件在数据采集系统中的作用越来越大,增加了系统设计的灵活性。 ( 3)数据采集与数据处理相互结合的日益紧密,形成数据采集与处理系统,可实现从数据采集、处理到控制的全部工作。 ( 4)数据采集过程一般都具有 ―实 时 ‖特性,实时的标准是能满足实际需要;对于通用采集系统一般希望有尽可能高的速度,以满足更多的应用环境。 ( 5)随着电子技术的发展,电路集。基于matlab的数据采集器设计
相关推荐
的采样序列进行频谱分析,绘制其幅频和相频曲线,对各频率下采样序列 X(t)和 X(n)的幅频曲线 进行观察 ; 4. 设系统单位抽样响应为 h(n),求解当输入为 X(n)时的系统响应 Y(n),画出X(n),Y(n),h(n)的时域波形及幅频特性曲线,并利用结果验证卷积定理的正确性。 5. 用 FFT 对信号 X(n),Y(n),h(n)进行频谱分析,观察与 4 中结果有无差别; 6.
(二)方便的绘图功能 MATLAB 提供了丰富的绘图功能。 结合在基带系统中的仿真实验的需要,我们简要介绍一下二维绘图函数的绘制方法。 plot 若 X、 Y是两个相同长度的矢量,函数 plot(X、 Y)将激活一个图形窗口,并画出一条以 X为横坐标,以 Y为纵坐标的曲线。 例如: t=[0::2*pi]。 plot(t,sin(t)) 即绘出函数 sin( t)在区间 [0,
llipap(Z,Rp,Rs) [num,den]=ellip(N,Rp,Rs,Wn,’s’) [num,den]=ellip(N,Rp,Rs,Wn,’type’,’s’) [N,Wn]=ellipord(Wp,Ws,Rp,Rs,’s’) M 文件 ellipap(N,Rp,Rs)用来确定通带波纹为 Rp,dB,最小阻带衰减为 RsdB,阶数为 N 的一个归一化模拟椭圆低通滤波器的零点
3 的是最直观、最简洁的程序开发环境。 MATLAB 的主要特点如下几点: 1. 语言简洁紧凑,使用方便灵活,库函数及其丰富 2. 此高级语言可用于技术计算,既具有结构化的控制语句,又有面向对象编程的特性 3. MATLAB 的图形功 能强大,数据的可视化非常简单,具有较强的编辑图形界面的能力 4. 具有功能强大的工具箱,交互式工具可以按迭代的方式探查、设计及求解问题 5.
ubplot(2,2,3)。 plot(w/pi,mag,39。 r39。 )。 axis([0 0 ])。 title(39。 幅频响应 39。 )。 subplot(2,2,4)。 plot(w/pi,db,39。 r39。 )。 axis([0 100 10])。 title(39。 幅频响应 (dB)39。 )。 xlabel(39。 以 \pi为单位的频率 39。 )。
多个工程中要用到的 数学 运算函数 ,可以方便的实现用户所需的各种计算功能 . 函数 中所使用的 算法 都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理 . 在通常情况下,可以用它来代替底层编程语言,如 C 和 C++ . 在计算要求相同的情况下,使用 MATLAB 的编程工作量会大大减少 . MATLAB 的这些 函数 集包括从最简单最基本的函数 到诸如 矩阵 ,特征 向量