永发信息网

求救~~MATLAB实现语音信号量化

答案:1  悬赏:30  手机版
解决时间 2021-05-22 22:32
MATLAB实现语音信号量化,程序,完整版~~~跪谢!!!
最佳答案

以前做个这个


二维矢量量化的


给你一个


%文件名VQ.m


%采用K法算法


%[码,失真]=VQ(原始信源,维数,码率,理想失真)


function [codebook,distortion]=VQ(training_seq,dimension,codebook_size,tolerance)


if (nargin==3)


tolerance=0.001;


end


m=round(length(training_seq)/dimension);


if (m*dimension-length(training_seq)<0)


error('')


end


%编码初始化


initial=training_seq(1:dimension*codebook_size);


initialcodebook=(reshape(initial,dimension,codebook_size))';


updated_codebook=initialcodebook;


%第一次训练矢量


newdistortion=0;


distortion=0;


for i=1:m;


training_seq_block=training_seq((i-1)*dimension+1:i*dimension);


training_matrix(i,:)=training_seq_block;


distortion_block=[ ];


for j=1:codebook_size;


distort=sum((training_seq_block-updated_codebook(j,:)).^2);


distortion_block=[distortion_block distort];


end


[distortion_min,ind]=min(distortion_block);


newdistortion=newdistortion+distortion_min;


index(i)=ind;


end


for l=1:codebook_size;


partition=(index==l);


if sum(partition)>0


updated_codebook(l,:)=partition*training_matrix/sum(partition);


end


end


newdistortion=newdistortion/m;


%继续训练矢量,直到失真没有显著变化


while(abs(distortion-newdistortion)/newdistortion>tolerance)


distortion=newdistortion;


newdistortion=0;


for i=1:m;


training_seq_block=training_seq((i-1)*dimension+1:i*dimension);


training_matrix(i,:)=training_seq_block;


distortion_block=[ ];


for j=1:codebook_size;


distort=sum((training_seq_block-updated_codebook(j,:)).^2);


distortion_block=[distortion_block distort];


end


[distortion_min,ind]=min(distortion_block);


newdistortion=newdistortion+distortion_min;


index(i)=ind;


end


for l=1:codebook_size;


partition=(index==l);


if sum(partition)>0


updated_codebook(l,:)=partition*training_matrix/sum(partition);


end


end


newdistortion=newdistortion/m;


end


codebook=updated_codebook;


distortion=newdistortion/dimension;


附上效果图:





我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
DNF是游戏还是单纯的转钱?
关于几个女人的问题。
寝室通过笔记本共享手机无线上网的问题
自己盖的房子可以办房产证吗?
怎麽才能把武器+到12呀
为什么AK-A怎么老是扫卟死人?
新城区东库街一团火超市我想知道这个在什么地
qq如何销号
再见面是什么歌,“青春再见吧再见吧再见吧“
安全文明行车口号,关于祝福开车平安的句子
谁能告诉我脆皮蛋糕的做法
怎样设置备注名
办理哪个银行信用卡好,现在办信用卡哪家银行
求k.r.y《just you》中文音译!只要中文的!
是have a good night sleep还是have a good n
推荐资讯
微信转账手续费是多少,微信转账/提现要手
科比曾经是不是犯过罪?
18元烤鸭调查 一是药补二是冷冻鸭问题
-为什么我的QQ头像换了那么长时间了,最近又
有没有描写战争场面的片段啊?
攀枝花市米易县河滨路邮政支局我想知道这个在
为什么好工作都轮不到我呢
什么是海陆变迁
客车和货车同时从甲、乙两地相对开出,8小时后
没用的电池怎么处理,不要的手机电池怎么处理
QQ三国评价
《Life in different places》 急需50词英语
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?