?? showwav.asv
字號:
function [ output_args ] = showwav( input_args )%UNTITLED1 Summary of this function goes here% Detailed explanation goes here% 原始信號[data,fs,nbits]=wavread('recycle.wav');N=length(data);fs=38000;datafft=fftshift(abs(fft(data)));fx=-0.5:1/N:0.5-1/N;fx=fx.*fs/1000;subplot(5,2,1);plot(fx,datafft);title('原始信號,38k 采樣率');subplot(5,2,2);plot(fx,data);title('時域波形');% 0 值插值datainsert(4*N)=0;k=1;while k<=N datainsert(4*(k-1)+1)=data(k); k=k+1;enddatafft=fftshift(abs(fft(datainsert)));fx2=-0.5:1/(4*N):0.5-1/(4*N);fx2=fx2.*(4*fs/1000);subplot(5,2,3);plot(fx2,datafft);title('4 倍插值,采樣率變為 38k*4');subplot(5,2,4);title('時域波形');% 低通濾波b=fir1(64,0.2); % 本來應該是 0.25 的datafilter=filter(b,1,datainsert);datafft=fftshift(abs(fft(datafilter)));subplot(5,2,5);plot(fx2,datafft);title('低通濾波后');subplot(5,2,6);stem(-datafilter);axis([4*(t1-1)+1 4*(t2-1)+1 -0.001 0.001])title('時域波形');% 調制w=2*pi*fs/(4*fs);s=sin(w*[0:4*N-1]);datas=datafilter.*s;datafft=fftshift(abs(fft(datas)));subplot(5,2,7);plot(fx2,datafft);title('調幅調制到 38khz');subplot(5,2,8);plot(datas);title('時域波形');% 插入導頻w=2*pi*(fs/2)/(4*fs);plevel=0.0003;s=plevel*sin(w*[0:4*N-1]);datasum=datafilter+datas+s;datafft=fftshift(abs(fft(datasum)));subplot(5,2,9);plot(fx2,datafft);title('插入導頻和左+右信號');subplot(5,2,10);plot(datasum);title('時域波形');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -