第一章:
P12:复习思考题(1.4);习题(1.3,1.5)
题1-3. 一组电压值为x=[0:0.5:4],经过一个把-5~5伏正电压转换为12位(包括符号位)二进制的 A/D转换器,求输出的量化电压的二进制代码,并求经D/A转换后的量化电压值。
解:
x=[0:0.5:4]; % 输入量数组
y=bqtize(x,11,5) % 量化后输出
deltax=5*2^-11 % 量化步长值
yc=round(y/deltax) % 此输出对应的量化单位数(十进制)
yb=dec2bin(yc,12) % 此输出对应的量化单位数(12位二进制)
注:bqtize.m文件在subrtdsp文件夹下
function y=bqtize(x,N,V)
%《数字信号处理教程——MATLAB释义与实现》
% 绝对量化子程序
% 电子工业出版社出版 陈怀琛编著 2004年9月
%
% function y=bqtize(x,N,V)
% -------------------------------------------
% 将x数组按最大幅度V量化为N位二进制的步长进行量化
% x--任意实数
% N--量化为二进制的位数(不计符号位)
% V--规定的最大幅度,缺省值是V=max(abs(x))
%
if nargin<3 V=max(abs(x));end
ax=abs(x); % 去掉符号
deltax=V/(2^N-1); % 求量化步长
% 将x用deltax四舍五入量化为整数
xint=fix(ax./deltax+0.5);
y=sign(x).*xint.*deltax; % 再将此整数缩小2^-(N-m),恢复量化后的原值
题1-5,
% chapter1, exercise1.5
% define the constant
ns = 10^(-9);
ms = 10^(-3);
sample_interval = 0.1 * ms;
process_interval = (10 * ns) * 4 + (0.5 * ns) * 2;
channals = floor(sample_interval / process_interval)
第二章: