matlab输入参数太多
N_uniquan=round((25-20*log10(min(abs(inisignal))/max(abs(inisignal)))-4.77)/6.02);M_u...
N_uniquan=round((25-20*log10(min(abs(inisignal))/max(abs(inisignal)))-4.77)/6.02);M_uniquan=2^N_uniquan;sig_uniquan=quant(inisignal,M_uniquan,max(abs(inisignal)))';plot(tana,inisignal,'b'); hold on;plot(tana,sig_uniquan,'r');print -r600 -djpeg UniQuan;delta=2*(max(abs(sig_uniquan)))/(M_uniquan);sig_uniquancode=round((sig_uniquan-min(sig_uniquan))/delta);sig_uniquancode_s=dec2bin(sig_uniquancode,N_uniquan);fid=fopen('sig_uniquancode_s.txt','w');for i=1:length(inisignal)fprintf(fid,'%s\r\n',sig_uniquancode_s(i,:));endfclose('all');
展开
1个回答
展开全部
由于这句代码,sig_uniquan=quant(inisignal,M_uniquan,max(abs(inisignal)))'; 输入格式不对,而造成错误。
因为quant()函数要求格式为 quant(X,Q),X——矩阵、向量或标量,Q——最小值
所以,建议你改一下。如,sig_uniquan=quant(inisignal,M_uniquan);或 sig_uniquan=quant(inisignal,min(abs(inisignal)));。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询