⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cvsd_test.m

📁 CVCD编解码的matlab仿真: CVSD文档+matlab仿真程序
💻 M
字号:
clear all;
close all;

music_input = wavread('num_16ksps16bit.wav');
% music_input = sin(2*pi*1000/16000*[1:16000]);
% music_input = music_input';
% music_input = 0.5*sin(2*pi*1000/16000*[1:16000]) + 0*sin(2*pi*2000/16000*[1:16000]) + 0*sin(2*pi*3000/16000*[1:16000]) + 0*sin(2*pi*4000/16000*[1:16000]);
% music_input = music_input';
figure(1);
plot(music_input);
% wavplay(music_input,16000);
freq_music = fft(hilbert(music_input));
real_freq = abs(freq_music);
figure(2);
plot(real_freq);

sw_enc_bit_dly_1_01 = 0;
sw_enc_bit_dly_2_01 = 0;
sw_step_01 = 0;
sw_prdct_01 = 0;

num_input = size(music_input);
for i = 1:num_input(1)%/3
    sw_smpl_val = music_input(i);
    [cvsd_encode_data,sw_enc_bit_dly_1_01,sw_enc_bit_dly_2_01,sw_step_01,sw_prdct_01] = cvsd_encode(sw_smpl_val,sw_enc_bit_dly_1_01,sw_enc_bit_dly_2_01,sw_step_01,sw_prdct_01);
    bit_encode(i) = cvsd_encode_data;
end

sw_enc_bit_dly_1 = 0;
sw_enc_bit_dly_2 = 0;
sw_step = 0;
sw_rcnstrct_dly_1 = 0;
sw_rcnstrct_dly_2 = 0;

for i = 1:num_input(1)%/3
    sw_enc_bit = bit_encode(i);
    [cvsd_decode_data,sw_enc_bit_dly_1,sw_enc_bit_dly_2,sw_step,sw_rcnstrct_dly_1,sw_rcnstrct_dly_2] = cvsd_decode(sw_enc_bit,sw_enc_bit_dly_1,sw_enc_bit_dly_2,sw_step,sw_rcnstrct_dly_1,sw_rcnstrct_dly_2);
    sound_out(i) = cvsd_decode_data;
end

freq_music = fft(hilbert(sound_out));
real_freq = abs(freq_music);
figure(3);
plot(real_freq);
figure;
plot(sound_out);
% wavplay(sound_out,16000);

% lowpass filter
figure;
N = 32;
F = [0, 0.2, 0.3, 1];
A = [1, 1, 0, 0];
LF_coefficient = firls(N,F,A);
for i = 1:2:4
   plot([F(i) F(i+1)],[A(i) A(i+1)],'--'), hold on
end
[H,k] = freqz(LF_coefficient,1,512,2);
plot(k,abs(H)), grid on, hold off;
legend('Ideal','firls Design')
% fdatool

sound_out_filter = conv(LF_coefficient,sound_out);

freq_out_filter = fft(hilbert(sound_out_filter));
real_freq_out_filter = abs(freq_out_filter);
figure;
plot(real_freq_out_filter);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -