首页 > 代码库 > 信号的採样和量化
信号的採样和量化
信号处理有两大任务。一个是信号分析,包含时域和频域。还有一个是滤波器设计,包含FIR和IIR。
在matlab中要表示连续的模拟信号。一般用t = 0:dt:tf来表示时间点。尽管matlab中的点是离散的,但仅仅要dt取的足够小比方0.001。就能逼近连续时间。
而表示数字信号,由关系式 x(n) = x(t)。t = nT,取n = 0:tf/T作为时间点,T是採样周期。
dt = 0.001;
tf = 6;
t = 0:dt:tf;
xa = sqrt(t)+cos(t);
T = 0.5;
n = 0:tf/T;
xb = sqrt(n*T)+cos(n*T);
matlab实现量化,把数据x变成量化值xq:xq = round(x/deltax)*deltax。
当中deltax为量化步长,round是四舍五入方法取整数。此外取整方法还有向上取整ceil。向下取整floor,向零取整fix。
量化位数越多,量化步长越小,越接近真实值。
这样的均与量化的特点是对大数。量化误差小,对小数量化误差大。因此有些场合引入非线性量化器。
在自己电脑上能通过录音採集声音信号。然后导入matlab。
仅仅需将wav文件存于路径下,然后输入[x,Fs,N] = wavread(‘dajiahao‘);
再通过save dajiahao x能够生成mat数据文件。便于matlab工具处理。
里面每一个数都是双精度格式保存,占八个字节64位。
信号的採样和量化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。