做网站的排名,专门做简历的网站软件,二级域名网站,网页制作软件名称今天写主要来编的程序就是咱们AD变换的两个步骤。一个是采样#xff0c;还有一个是量化。大家可以先看看#xff0c;这一过程当中的信号是如何变化的。信号的变换图如下。 先说说采样#xff0c;采样是将连续时间信号转换为离散时间信号的过程。在采样过程中#xff0c;连续… 今天写主要来编的程序就是咱们AD变换的两个步骤。一个是采样还有一个是量化。大家可以先看看这一过程当中的信号是如何变化的。信号的变换图如下。 先说说采样采样是将连续时间信号转换为离散时间信号的过程。在采样过程中连续信号在特定时间间隔采样间隔内被测量和记录这些时间间隔称为采样周期。采样率或采样频率是指每秒钟采样的次数通常用赫兹Hz表示。采样是数字信号处理中的一个关键步骤因为它将模拟信号转换为可以用数字设备如计算机处理的离散信号。大家在图上也能很明显的看出来不知道大家还记不记得那个公式xₐ(nT)x(n)每隔一定的距离在采一个值。在理想的采样中也可以写成模拟信号乘上冲激串即。对应上面的概念这里的T就是采样周期fs1/T就是采样频率。就先说这么多吧我们看程序。
%采样信号的写法
%奈奎斯特采样定理的体现过采样的优势
%注意使用“;”,抑制输出当分号放在表达式后面时运算后命令窗口中不显示表达式的计算结果。clear all
close allf 10;
fs 260;%采样信号的写法
%第一种
t 0:1/fs:1
signal1 sin(2*pi*f*t);
%第二种
length [0:300]
signal2 sin(2*pi*f*length/fs);figure(1)
plot(signal1,-*)figure(2)
plot(signal2,-*)这里可以有两种不同的写法个人比较喜欢第二种。大家随便选来看图像这里建议用stem函数来看它的离散图像。大家感兴趣的可以数一下一个周期内正好为26个点 第二个概念是量化量化是将模拟信号或连续取值的信号转换为有限个离散值的过程。在数字信号处理和通信中由于数字系统只能处理离散的数值所以需要对连续的模拟信号进行量化。量化通过将信号的取值范围划分成若干个区间称为量化级然后将落在每个区间内的信号值用一个特定的离散值量化值来表示。量化会引入量化误差即量化后的信号值与原始信号值之间的差异。量化误差的大小取决于量化级的数量和量化方式。量化级越多量化误差通常越小但同时也会增加数据量和处理复杂度。在开始的图像当中我们可以看到信号被分成一个阶梯函数那样的就是我们的一个量化信号。大家在学AD转换的时候或许会学到过量化阶数这一概念。这里的量化级数则是另一个和它相关的概念。量化级数和量化阶数是量化过程中的两个相关概念。量化级数是指量化后可能的取值个数。量化阶数则是相邻两个量化电平之间的差值。它们之间存在这样的关系量化阶数 量化范围 / 量化级数。这里先给出一个简单的代码。仅供参考。
%量化信号
%% 生成一个正弦波信号
t 0:0.01:1; % 时间向量
x sin(2 * pi * 5 * t); % 正弦波信号% 定义量化参数
num_levels 16; % 量化级数
q_levels linspace(-1, 1, num_levels); % 量化级别% 对信号进行量化
x_quantized quantiz(x, q_levels);% 绘制原始信号和量化信号
figure(1);
subplot(2, 1, 1);
plot(t, x);
xlabel(t/s);
ylabel(幅值);
title(原信号);subplot(2, 1, 2);
stairs(t, x_quantized, r);
xlabel(t/s);
ylabel(幅值);
title(量化后的信号);
grid on;% 显示量化级别
disp(量化级别:);
disp(q_levels);% 量化函数定义
function y quantiz(x, q_levels)% 初始化量化后的输出信号y zeros(size(x));% 对每个信号样本进行量化for i 1:length(x)% 找到最接近的量化级别[~, idx] min(abs(q_levels - x(i)));y(i) q_levels(idx);end
end 图像如下 当然在MATLAB当中我们还可以使用向上取整或者是向下取整或者是四舍五入等等能够让信号归一到不同水平的电平上就行了。 更多的话大家继续follow我吧。 欲知后事如何且听下回分解。OVO.......