Matlab实现PCM编码出错,求指导.
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/28 21:22:45
Matlab实现PCM编码出错,求指导.
function code=pcm(S) %S为输入信号
z=sign(S); %判断S的正负
MaxS=max(abs(S)); %求S的最大值
S=abs(S/MaxS); %归一化
Q=2048*S; %量化
code=zeros(length(S),8); %代码存储矩阵(全零)
%段落码判断程序
for i=1:length(S)
if (Q(i)>=128)&(Q(i)32)&(Q(i)=512)&(Q(i)=16)&(Q(i)=64)&(Q(i)=256)&(Q(i)=1024)&(Q(i)0
code(i,1)=1;
elseif z(i) pcm at 27
q=ceil((Q(i)-a(N(i)))/b(N(i))); %求出在段内的位置
求教为什么啊?求大神指导.
function code=pcm(S) %S为输入信号
z=sign(S); %判断S的正负
MaxS=max(abs(S)); %求S的最大值
S=abs(S/MaxS); %归一化
Q=2048*S; %量化
code=zeros(length(S),8); %代码存储矩阵(全零)
%段落码判断程序
for i=1:length(S)
if (Q(i)>=128)&(Q(i)32)&(Q(i)=512)&(Q(i)=16)&(Q(i)=64)&(Q(i)=256)&(Q(i)=1024)&(Q(i)0
code(i,1)=1;
elseif z(i) pcm at 27
q=ceil((Q(i)-a(N(i)))/b(N(i))); %求出在段内的位置
求教为什么啊?求大神指导.
![Matlab实现PCM编码出错,求指导.](/uploads/image/z/7361669-29-9.jpg?t=Matlab%E5%AE%9E%E7%8E%B0PCM%E7%BC%96%E7%A0%81%E5%87%BA%E9%94%99%2C%E6%B1%82%E6%8C%87%E5%AF%BC.)
N[]是全0数列,而a(N(i))=a(0)是不存在的,数组索引值必须为正整数.
再问: 请问该如何改正呢?
再答: function code=pcm(S) %S为输入信号 z=sign(S); %判断S的正负 MaxS=max(abs(S)); %求S的最大值 S=abs(S/MaxS); %归一化 Q=2048*S; %量化 code=zeros(length(S),8); %代码存储矩阵(全零) %段落码判断程序 for i=1:length(S) if (Q(i)>=128)&&(Q(i)32)&&(Q(i)=512)&&(Q(i)=16)&&(Q(i)=64)&&(Q(i)=256)&&(Q(i)=1024)&&(Q(i)0 code(i,1)=1; elseif z(i)
再问: 请问该如何改正呢?
再答: function code=pcm(S) %S为输入信号 z=sign(S); %判断S的正负 MaxS=max(abs(S)); %求S的最大值 S=abs(S/MaxS); %归一化 Q=2048*S; %量化 code=zeros(length(S),8); %代码存储矩阵(全零) %段落码判断程序 for i=1:length(S) if (Q(i)>=128)&&(Q(i)32)&&(Q(i)=512)&&(Q(i)=16)&&(Q(i)=64)&&(Q(i)=256)&&(Q(i)=1024)&&(Q(i)0 code(i,1)=1; elseif z(i)