- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
clear all;
close all;
f = 300;
t = 2*(0:0.001:1-0.01)/f;
x = t;
singal= sin(2*pi*f*x)+1;
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% u率PCM编码 %
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
a = singal;
n = 8;
%u率非线性
u = 255;%%%%%%%%%%%%待考察,应该是255%%%%%%
c = zeros(size(a));
for i = 1:length(a)
c(i) = log(1+u*a(i))/log(1+u); %在PCM中要求x应该大于0
end
cmax = max(c);
cmin = min(c);
%均匀量化
c_quan = c;
b_quan = c_quan;
d = (cmax - cmin)/n; %此处有问题%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % % % % % % % % % % % % % % 自己写的量化代码% % % % % % % % % % % %
for j = 1:n+1
kk(j) = cmin + j*d;
end
for k = 1:n
q(k) = (kk(k)+kk(k+1))/2;
end
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
for i = 1:n
m = find((q(i)-d/2 <= c_quan) & (q(i)+d/2 >= c_quan));
c_quan(m) = q(i).*ones(1,length(m));
b_quan(find(c_quan==q(i))) = (i-1).* ones(1,length(find(c_quan==q(i))));
end
% 编码
nu = ceil(log2(n));
code = zeros(length(a),nu);
for i = 1:length(a)
for j = (nu-1):-1:0
if (fix(b_quan(i)/(2^j))==1)
code(i,(nu-j)) = 1;
b_quan(i) = b_quan(i)-2^j;
end
end
end
bitstorm = [];
for i = 1:length(code)
bitstorm = [bitstorm,code(i,:)];
end
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% FSK调制的实现
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
figure(1)
subplot(221);
stairs (bitstorm(1:20));
title('调制信号');
axis([0,20,-0.1,1.2]);
grid on
% % % % % % % % % % % % %这是设置随机数值 % % % % % % % % % % % % % % % % % % % % % % %
rand('state',sum(100*clock));
randn('state',sum(100*clock));
mintestlongth = 1000;
maxtestlongth = 1000;
A = 1;
Eb = A * A;
SNR = 10; %信噪比
index = 1;
% for SNR1 = 0:10
disp ('程序在运行,请稍等.....');
N0 = Eb * 10^(-SNR/10);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%待解决
noiseVar = N0/2;%噪声密度
noiseRoot = sqrt(noiseVar
文档评论(0)