模拟信号数字化的处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟信号数字化的处理
第一章 基本原理
通信系统可以分为模拟和数字通信系统两大类。
数字通信系统有很多的优点,应用非常广泛,已经成为现代通信的主要发展趋势。
自然界中很多信号都是模拟量,我们要进行数字传输就要将模拟量进行数字化,将模拟信号数字化,处理可以分为抽样,量化,编码,这三个步骤。
下图是模拟信号数字传输的过程原理图:
下图是模拟信号数字化过程:
1.1对模拟信号进行抽样
抽样是把时间上连续的模拟信号变成一系列时间上离散的抽样值的过程。
抽样定理:设
一个频带限制的(0,f H )Hz 内的时间连续信号m (t )如果它不少于2f H 次/s 的速率进行抽样,则m(t)可以由抽样值完全确定。
抽样定理指出,由样值序列无失真恢复原信号的条件是fs ≥2f H ,为了满足抽样
定理,要求模拟信号的频谱限制在0~f H 之内(f H 为模拟信号的最高频率)。
为此,在抽样之前,先设置一个前置低通滤波器,将模拟信号的带宽限制在f H 以下,如果前置低通滤波器特性不良或者抽样频率过低都会产生折叠噪声。
抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。
抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。
取样分为冲激取样和矩形脉冲取样,这里只详细介绍冲激取样的原理和过程,矩形脉冲取样的原理和冲激取样的是一样的,只不过取样函数变成了矩形脉冲序列。
数学运算与冲激取样是一样的。
冲激取样就是通过冲激函数进行取样。
)(s t f D
/A )
(n f )
(n g A
/D )
(t g )(t p )(t f 量化编码
数字
滤波器
上图左边就是简化的模拟信号转换离散的数字信号的抽样过程,其中f(t)是连续的时间信号,也就是模拟信号,在送到乘法器上与s(t)取样脉冲序列进行乘法运算,事实上取样脉冲序列就是离散的一个个冲激函数(冲激函数如上图右边的图),右边部分的fs(t)就是变成了一个个离散的函数点了。
下面给出抽样的数学运算过程。
下面给出抽样过程的冲激抽样的函数过程:
因此:
f s(t)
另外要注意的是,采样间隔的周期要足够的小,采样率要做够的大,要不然会出现如下图所示的混叠现象,一帮情况下TsWs=2π,Wn>2Wm。
()()
s
T
s t t
δ
=()s
n
t nT
δ
∞
=-∞
=-
∑
()()()
s
f t f t s t
=⋅()()
()()()()
s
n
s s s
n n
f t t nT
f t t nT f nT t nT
δ
δδ
∞
=-∞
∞∞
=-∞=-∞
=⋅-
=-=-
∑
∑
∑
⨯=
∑∞
-∞
=
-
=
⋅
=
k
T kT
t
kT
f
t
t
f)
(
)
(
)(
)(δ
δ
1.2对离散数字信号序列量化
量化就是利用预先规定的有限个电平来表示模拟信号抽样值的过程。
时间连续的模拟信号经过抽样后的样值序列虽然在时间上离散,但是在幅度上仍然是连续的,也就是说,抽样值m(kT)可以取到无穷多个值,这个很容易理解的,因为在一个区间里面可以取出无数的不同的数值,这就可以看成是连续的信号,所有这样的信号仍然属于模拟信号范围。
因此这就有了对信号进行量化的概念。
在通信系统中已经有很多的量化方法了,最常见的就是均匀量化与非均匀量化。
均匀量化概念比较早出来。
因其有很多的不足之处,很少被使用,这就有了非均匀量化的概念。
均匀量化就是把信号的取值范围按照等距离分割,每个量化电平都取中间值(也就是平均值),落在这个区间的所有值都用这个值代替。
当信号的变化范围和量化电平被确定后,量化间隔也就被确定。
在语言信号数字化通信中,均匀量化有个明显不足之处:量化信噪比随信号的电平的减小而下降。
为了克服这个缺点,实际中往往采用非均匀量化。
非均匀量化是一种在整个动态范围内量化间隔不相等的量化。
它是根据输入信号的概率密度函数来分布量化电平的,以改善量化性能,它的特点是输入小时量阶也小,输入大时,量阶也大。
整个范围内信噪比几乎是一样的,缩短了码字长度,提高了编码效率。
实际中非均匀量化的方法之一是把输入量化器的信号x先进行压塑处理,再把压缩的信号y进行非均匀量化。
压缩器其实就是一个非线性电路,微弱的信号被放大,强的信号被压缩,压缩器的输入输出关系可以这样表示:y=f(x)
接受端采用一个与压缩特性相反的扩张器来恢复x。
下图就是压缩与扩张的示意图:
通常使用的压缩器中,大多数采用对数压缩,即y=lnx 。
广泛采用这两种对数压扩特性的是u/A 率压扩。
μ律压缩特性
压缩规律:μ压缩特性近似满足下对数规律
μ律压缩定性分析
μ=0
时:无压缩作用(直线) μ>0时:μ↑→压缩明显
压缩作用---y 是均匀的,而x 是非均匀的→信号越小△x 也越小 A 压缩率
所谓的 A 压缩率就是压缩器具有如下特性:
x
上式中:x 为归一化的压缩器输入电压;归一化的压缩器输出电压;A 为压扩参数,表示压缩程度。
下图是由抽样后的离散信号量化的过程
其中量化过程如下如所示:
量化器,其输出信号x q (t)=x q (kT)=q i , q i 为M 个量化电平q 1、q 2 ⋯q M 之一。
m 1、m 2 ⋯ m M-1
为量化区间的端点。
在量化时候会产生量化误差,这里不作详细介绍,其量化误差计算公式如下:
量化后量化输出为:
我们衡量一个量化器的性能好坏用信噪比来表示: 信噪比定义如下:
i
q i i q kT x m kT x m =<≤-)()(12
)]
([kT x E S q q []
[
]
2
2)
()()
(s q s s q q
q kT m kT m E kT m E N S -=
其中:xq(t) 与x(t) 近似程度的好坏用 Sq/Nq 衡量。
Sq /Nq 越大,说明近似程度越好。
在非均匀量化中有如下的压扩特性:
在实用中需按照不同情况对理想压缩特性作适当修正。
压扩特性数学分析:
当量化区间划分很多时,在每一量化区间内压缩特性曲线可以近似看作为一段直线,其斜率为:
对此压缩器的输入和输出电压范围均作归一化,且纵坐标y 在0和1之间均匀划分成N 个量化区间,则每个量化区间的间隔应该等于:
为了对不同的信号强度保持信号量噪比恒定,当输入电压x 减小时,应当使量化间隔
∆x 按比例地减小,即:
∆x ∝ x 。
将边界条件(当x=1时,y=1),代入可得: k+c=0 → c=-k
y
o
2ΔΔ
3Δ4Δy dx
dy x y '==∆∆y dy
dx x ∆=
∆N
y 1=
∆dy dx N y dy dx x 1=∆=
∆x N dy
dx
∆=x dy dx ∝kx dy
dx =c
ky x +=ln k
ky x -=ln x
k
y ln 11+=
1.3 对量化后的数字信号进行编码
所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。
当然,这里的编码和译码与差错控制编码和译码是完全不同的,前者是属于信源编码的范畴。
在现有的编码方法中,若按编码的速度来分,大致可分为两大类:低速编码和高速编码。
通信中一般都采用第二类。
编码器的种类大体上可以归结为三类:逐次比较型、折叠级联型、混合型。
在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。
下面结合13折线的量化来加以说明。
在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。
若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。
具体的做法是:用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。
其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。
这样处理的结果,8个段落被划分成27=128个量化级。
13折线编码
特点:基本上保持压缩特性,又便于数字实现。
折线的各段斜率:
线段8斜率:1/8÷1/2=1/4线段7斜率:1/8÷1/4=1/2
线段6斜率:1/8÷1/8= 1线段5斜率:1/8÷1/16=2
线段4斜率:1/8÷1/32=4线段3斜率:1/8÷1/64=8
线段2斜率:1/8÷1/128=16 线段1斜率:1/8÷1/128=16
下图是完整的13折线图:
完整13折线的图的特性:
(1)负向8段斜线按同样方法得到;
(2)第Ⅲ象限的折线与第Ⅰ象限呈奇对称;
(3)斜率相同的段合为一段,共13段,称为13折线法。
13折线的绘制方法:
(1)将输入输出的电压归一。
(2)将x轴的区间(0,1)不均匀的划分为8段,划分的规律是:每一次以二分之一取段。
(3)将x轴上分好的8段,在段内分成均匀的16段,每一等份作为一个量化层。
(4)将y轴的区间(0,1)均匀的划分为8段,在段内分成均匀的16段,每一等份作为一个量化层。
(5)将相应的交点连接起来得到8个折线段。
(6)因为还包括小于0的电平,所以在第三象限也有8个折线段,但是在第一象限中第一,二段的折线的斜率和第三象限第一,二段相同,所以四条连成一条,这样整个平面有13条线,所以也称为13折线.
下表左边是段落码和段落之间的关系,右边是段内码16个量化级之间的关系
脉冲编码调制-PCM 系统的量化噪声
对于PCM 系统,这相当于要求传输速率 ≥ 2Nf H b/s ,故要求系统带宽 B = Nf H ,即要求:
N = B /f H ,代入 S / N q = 22N
,得到
)2(B/f H 2 Nq / S =
上式表明,PCM 系统的输出信号量噪比随系统的带宽B 按指数规律增长。
误码率:
对于误码率的计算,我们一般都是对信号的噪声功率和信噪比来进行讨论的。
误码率是衡量数据在规定时间内数据传输精确性的指标。
如果有误码就有误码率。
简单
的说,误码率就是在数字传输过程中,在发送到接收端,发送错误的码元个数占总的码元个数的比例。
误码率的计算公式如下:
第二章仿真程序、程序编制、流程图、仿真结果
2.1 抽样定理的验证
首先我们先要通过matlab软件产生一个模拟信号,然后才能对模拟信号进行抽样等等一系列的操作,下面先给出matlab软件建立m文件产生一个比较熟悉的时域连续的周期函数,f(t)= cos(2*pi*30*t)+sin(2*pi*65*t),可以看出这个信号就是由两个最常用的函数复合而成。
A,产生原始连续信号的matlab源代码:
%该程序用于画出原信号的图形
clear;
t = -0.1:0.001:0.1; %该参数用于画原信号图形
f =cos(2*pi*30*t)+sin(2*pi*65*t); %原函数, 由t的取值可得f有201个值
subplot(2,1,1) %matlab矩阵区域设置
plot(t, f) ;%画出采原函数序列图
title('原信号');
xlabel('时间t(s)');
B,接下来就是对原始信号进行抽样了,下面给出对信号进行抽样的源代码
%该函数用于画出原始波形和抽样后离散的采样波形图
%绘制离散的采样波形图
T= 1/500; %抽样周期,500是抽样频率,可以调整抽样频率gs = -0.1:T:0.1;
fg = cos(2*pi*30*t)+sin(2*pi*65*t); %对信号进行以T周期抽样
subplot(2,1,2)
stem(gs, fg) %画图
title('采样信号');
xlabel('时间t(s)');
2.2量化与编码
在抽样以后我们得到了一个个的离散的数字信号序列,但是这个序列并不是我们想要的数字信号序列,因为前面已经说过,这个不是真正的离散数字信号,它只是在时间上是离散的,在幅度上仍然是连续的。
所以就要进行下一步操作—量化。
在实际中量化和编码是一起进行的,下面给出量化编码的matlab源代码:
clear all;
close all;
%建立原信号
T=0.002; %取时间间隔为0.01
t=-0.1:T:0.1; %时域间隔dt为间隔从0到10画图
xt=cos(2*pi*30*t)+sin(2*pi*65*t); %xt方程
%采样:时间连续信号变为时间离散模拟信号
fs=500; %抽样fs>=2fc,每秒钟内的抽样点数目将等于或大于2fc个sdt=1/fs; %频域采样间隔0.002
t1=-0.1:sdt:0.1; %以sdt为间隔从-0.1到0.1画图
st=cos(2*pi*30*t)+sin(2*pi*65*t); % 离散的抽样函数
figure(1);
subplot(3,1,1);
plot(t,xt);title('原始信号'); %画出原始的信号图,以好对比
grid on
%画背景
subplot(3,1,2);
stem(t1,st,'.'); %这里画出来的是抽样后的离散图
title('抽样信号');
grid on %画背景
%量化过程
n=length(st); %取st的长度为n
M=max(st);
A=(st/M)*2048; %a1(极性码) a2a3a4(段落码)a5a6a7a8(段内电平码)code=zeros(i,8); %产生i*8的零矩阵
%极性码a1
for i=1:n %if循环语句
if A(i)>=0
code(i,1)=1; %代表正值
else
code(i,1)=0; %代表负值
end
% 这里就是量化的过程,划分成几个不等的段,然后用码元来代替,也就是俗称编码
if abs(A(i))>=0&&abs(A(i))<16
code(i,2)=0;code(i,3)=0;code(i,4)=0;step=1;start=0;
elseif 16<=abs(A(i))&&abs(A(i))<32
code(i,2)=0;code(i,3)=0;code(i,4)=1;step=1;start=16;
elseif 32<=abs(A(i))&&abs(A(i))<64
code(i,2)=0;code(i,3)=1;code(i,4)=0;step=2;start=32;
elseif 64<=abs(A(i))&&abs(A(i))<128
code(i,2)=0;code(i,3)=1;code(i,4)=1;step=4;start=64;
elseif 128<=abs(A(i))&&abs(A(i))<256
code(i,2)=1;code(i,3)=0;code(i,4)=0;step=8;start=128;
elseif 256<=abs(A(i))&&abs(A(i))<512
code(i,2)=1;code(i,3)=0;code(i,4)=1;step=16;start=256;
elseif 512<=abs(A(i))&&abs(A(i))<1024
code(i,2)=1;code(i,3)=1;code(i,4)=0;step=32;start=512;
elseif 1024<=abs(A(i))&&abs(A(i))<2048
code(i,2)=1;code(i,3)=1;code(i,4)=1;step=64;start=1024; end
B=floor((abs(A(i))-start)/step); %段内码编码floor取整(四舍五入)
t=dec2bin(B,4)-48; %dec2bin定义将B变为4位2进制码,-48改变格式 code(i,5:8)=t(1:4); %输出段内码
end
code=reshape(code',1,8*n); %reshape代表从新塑形
code
subplot(3,1,3);
stem(code,'.');axis([1 64 0 1]); %这里我们先取前面八个点编码输出,输出时候有64
个点
title('编码信号');
grid on
2.3 误码率
误码率用matlab做实际上也就是套公式,最常用的也就是利用信号噪声功率,信噪比来计算得出,在这里我简单的用matlab画出几个常见的传输系统的性噪比误码率:Matlab源程序如下:
clear all;a=0.001 %信号幅度
SNR_dB=-6:0.3:20; %信噪比范围(单位分贝)
SNR=10.^(SNR_dB./10); %信噪比(由分贝转化而来 10lg(SNR)=SNR_dB)
SNR2=a.^2./(2*SNR); %信号幅度为a时的噪声功率
for i=1:length(SNR_dB) %计算误码率,通过循环计算所有的,以便后面画图其实
都是通过固定的公式计算得出
ask_pe0=0.5*erfc(sqrt(a.^2./(8*SNR2))); %ASK相干解调时的误码率(给定信号幅度a和噪声方差σ^2时的信噪比r=a^2/2*σ^2,而这里的噪声功率是SNR2)ask_pe1=0.25*erfc(sqrt(a.^2./(8*SNR2)))+0.5*exp(-a.^2./(8*SNR2)); %ASK非相干解调时的误码率
fsk_pe0=0.5*erfc(sqrt(a.^2./(4*SNR2))); %FSK相干解调时的误码率
fsk_pe1=0.5*exp(-0.25*a.^2./SNR2); %FSK非相干解调时的误码率
psk_pe=0.5*erfc(sqrt(0.5*a.^2./SNR2)); %PSK解调时的误码率
dpsk_pe0=erfc(sqrt(a.^2./(2*SNR2))); %2DPSK相干解调时的误码率
dpsk_pe1=0.5*exp(-0.5*a.^2./SNR2); %2DPSK非相干解调时的误码率
end
semilogy(SNR_dB,ask_pe0,'r'); %这些都是绘制信噪比误码率曲线(画在
同一个坐标系中)
hold on;
semilogy(SNR_dB,ask_pe1);
hold on;
semilogy(SNR_dB,fsk_pe0,'*r');
hold on;
semilogy(SNR_dB,fsk_pe1,'*');
hold on;
semilogy(SNR_dB,psk_pe,'om');
hold on;
semilogy(SNR_dB,dpsk_pe0,':r');
hold on;
semilogy(SNR_dB,dpsk_pe1,':');
legend(' 相干2ASK','·非相干2ASK','相干2FSK','·非相干2FSK','2PSK','相干2DPSK','非相干2DPSK'); %这里就是在图片上标注注释
axis([-6,20,1/1e7,1]);
xlabel('SNR_dB'); %确定横坐标
ylabel('Pe'); %确定纵坐标
第三章结论及其分析
3.1抽样定理的验证
产生原始信号的函数生成的信号波形如下图所示:
上图中可以看出这是一个连续的周期信号,很容易分析。
在生成好原始波形后就要对信号进行抽样,下面就是不同抽样频率下的抽样结果:在这里我只选择了三个频率下的抽样(1000,500,100),这样已经能够分析了
分析:分别进行了三次抽样,第一次频率是1000Hz(对应上面的第一幅图),第二次频率是500Hz(对应上面的第二幅图),第三次频率是100Hz(对应上面的第二幅图),可以看出,在频率很高的情况下,抽样间隔很小,一个个的点靠的也很近,抽出的值得个数也很多,同时如果用线把所有的点都连起来,跟原信号很相似,相反的在第三幅图中,可以看出,抽样的点数很少,看起来比较清爽,但是如果没有上面的原信号波形,即使我们把所有的点都连接起来,我想我们还是很难得到像原始图那样的波形,其实啊,第三幅图中我们有很多的特殊的点都没有取到,比如说,有好几个幅度改变的点我们都没有取,这就在以后的恢复时候,就被忽略掉了,这就造成所谓的失真现象。
其实在matlab中我们的原始信号也是离散的,只不过取样的点数特别多罢了,这个很容易理解的,因为我们的计算机,就是只能处理数字信号,只能处理离散的二进制信号,模拟信号呢,是由无数的点构成的,计算机不可能取到所有的点,所以原始模拟信号在计算机中也是数字化的,另外再从matlab仿真软件角度来看,matlab软件实际上是叫矩阵实验室,矩阵就是处理的数字,我们matlab编程都是把信号,数字,常量等都是放到矩阵中去运行的。
在编程时候,我们在产生原始模拟信号时,参数是这样设置的t = -0.1:0.001:0.1;可以看出时间t也是可数的。
所以从这三个方面我们就很好的理解了matlab的工作原理,以
及数字信号原理。
3.2 量化与编码分析
下图是经过量化编码后的matlab仿真图:
下面给出由量化编码程序输出的编码序列(由于数据较多,这里只显示前80位数据):code =
Columns 1 through 16
1 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0
Columns 17 through 32
0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 1
Columns 33 through 48
1 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0
Columns 49 through 64
1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0
Columns 65 through 80
0 1 1 1 0 1 0 0 0 1 1 1 1
1 1 0
3.3误码率分析
先给出误码率的matlab仿真图:
上图显示的是误码率与信号的信噪比之间的关系,由图可见,当信噪比很小时,误码率相对来说比较高,而且可以看出,不管是通过什么解调,其误码率都是处在一个相同或者相近的位置;当信噪比较高时,误码率就比较小了,而且啊,不同的解调,所产生的信噪比都是相差比较大的。
我们还可以看出非相干解调相同的信噪比下所产生的误码率最高,在相同的误码率下产生的信噪比也是最大的。
PSK解调是这集中解调中稍微比较好的了。
第四章心得体会
4.1心得体会
通过此次课程设计,使我更加扎实的掌握了有关模拟信号数字化PCM编码设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。
实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
过而能改,善莫大焉。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。
最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。
在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上披荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦!
在这一周的课程设计中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说是苦多于甜,但是可以学到很多很多的东西,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。
第五章参考文献
1.《通信原理》樊昌信曹丽娜国防工业出版社
2.《现代通信系统分析与仿真——matlab通信工具箱》李建新刘乃安
西安电子科技大学出版社
3.《数字信号处理教程——matlab释义与实现》陈怀琛电子工业出版社
4.《现代通信系统——使用matlab》约翰-G-普罗克斯西安交通大学出版社
5. 《MATLAB通信工程仿真》张德丰机械工业出版社
6.《MATLAB/SIMULINK通信系统建模与仿真实例分析》邵玉斌清华大学出版社。