资源共享分类
通信信号 图像语音 神经网络 智能优化 控制器 数值仿真 数学建模 其他专业

微信:HuangL1121
Q Q:1224848052
团队:嘉兴麦特莱博软件开发工作室
地址:嘉兴港区
 
通信信号
简单的PCM编码MATLAB程序|FPGA代做-MATLAB代做
来源:本站    日期:2018/6/15    浏览量:1272  

功能描述:

       PCM 脉冲编码调制是Pulse Code Modulation的缩写。脉冲编码调制是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。

function [sqnr,a_quan,code]=u_pcm(a,n)

%U_PCM   采样样本序列a的均匀PCM编码.
%       [SQNR,A_QUAN,CODE]=U_PCM(A,N)
%       a=输入序列.
%       n=量化级别数 (偶数,2的幂次).
%     sqnr=输出的SQNR (以dB为单位).
% a_quan=编码之前的量化输出.
% code=编码后的输出.

amax=max(abs(a)); % 序列所含信号样本中的峰值
a_quan=a/amax; % 每个样本值与峰值之比(归一化样本值)
b_quan=a_quan;
d=2/n; % 量化步长d
q=d.*[0:n-1];        % 每个量化级别的值(归一化量化值)
q=q-((n-1)/2)*d;     % 量化范围[q-d/2, q+2/d],即[-(n/2)*d,(n/2)*d]
for i=1:n % 在量化范围逐级寻找接近量化级别的归一化样本值
a_quan(find((q(i)-d/2 <= a_quan) & (a_quan <= q(i)+d/2)))=...
q(i).*ones(1,length(find((q(i)-d/2 <= a_quan) & (a_quan <= q(i)+d/2))));
b_quan(find( a_quan==q(i) ))=(i-1).*ones(1,length(find( a_quan==q(i) )));
end % 每个归一化样本值按最接近的量化级别修正
a_quan=a_quan*amax; % 得到修正后的样本量化值(模拟信号的数字重建)
nu=ceil(log2(n)); % 量化级别所需的二进制编码比特数
code=zeros(length(a),nu); % 编码序列初始化为全零
for i=1:length(a) % 码字数
for j=nu:-1:0 % 码字中的比特数,先求最高比特值
if ( fix(b_quan(i)/(2^j)) == 1)
code(i,(nu-j)) = 1;     % 对量化值执行模2除法,得到当前码字当前比特值
b_quan(i) = b_quan(i) - 2^j; % 量化值模2计算后的余数继续用于求下一个更低比特的值
end % 这里量化值编码过程实际上是十进制到二进制的转换
end % 完成一个量化值的编码
end % 得到所有量化值的编码码字

sqnr=20*log10(norm(a)/norm(a-a_quan)); % 得到信号量化噪声比,量化噪声为信号样本与量化值之差


联系:highspeedlogic

QQ :1224848052

微信:HuangL1121

邮箱:1224848052@qq.com

网站:http://www.mat7lab.com/

网站:http://www.hslogic.com/

微信扫一扫:







   上一篇: FPGA代做|使用verilog语言实现sobel边缘提取算法    下一篇:    
   相关阅读
· MATLAB代做|FPGA代做|simulink代做—— 2020/7/14
· MATLAB代做|FPGA代做|simulink代做—— 2020/5/30
· MATLAB代做|FPGA代做|simulink代做—— 2020/5/30
· MATLAB代做|FPGA代做|simulink代做—— 2020/2/1
· MATLAB代做|FPGA代做|simulink代做—— 2019/12/11
· MATLAB代做|FPGA代做|simulink代做—— 2019/12/11
· MATLAB代做|FPGA代做|simulink代做—— 2019/12/11
· Alexnet网络结构 2019/11/20
· MATLAB代做|FPGA代做|simulink代做—— 2019/9/15
· MATLAB代做|FPGA代做|simulink代做—— 2019/8/29
Copyright 2017-2024 © 嘉兴麦特莱博软件开发工作室
  • 网站备案号:浙ICP备18008591号-1