目录
更改信号采样率
测量均值频率、功率、带宽
更改信号采样率
此示例说明如何更改信号的采样率。此示例有两个部分。第一部分将正弦输入的采样率从 44.1 kHz 改为 48 kHz。此工作流在音频处理中很常见。光盘上使用的采样率是 44.1 kHz,而数字音频磁带上使用的采样率是 48 kHz。第二部分将录制的语音样本的采样率从 7418 Hz 更改为 8192 Hz。
创建一个由多个正弦波组成的输入信号,采样率为 44.1 kHz。这些正弦波的频率为 2 kHz、4 kHz 和 8 kHz。
Fs = 44.1e3;t = 0:1/Fs:1-1/Fs;x = cos(2*pi*2000*t) + 1/2*sin(2*pi*4000*(t-pi/4)) + ...1/4*cos(2*pi*8000*t);
要将采样率从 44.1 kHz 更改为 48 kHz,必须确定一个有理数(整数之比)P/Q,使得 P/Q 与原始采样率 44100 之积在某个指定容差内等于 48000。
要确定这些因子,请使用 rat。输入新采样率 48000 与原始采样率 44100 之比。
[P,Q] = rat(48e3/Fs);abs(P/Q*Fs-48000)ans = 7.2760e-12
可以看到,P/Q*Fs 与所需采样率 48000 相差的数量级仅为 。
将使用 rat 求得的分子和分母因子作为 resample 的输入,输出以 48 kHz 采样的波形。
xnew = resample(x,P,Q);
如果计算机可以播放音频,可以播放这两种波形。在播放信号前,请将音量设置为舒适的水平。对两种采样率的信号分别执行 sound 命令并收听。
% sound(x,44100)% sound(xnew,48000)
将语音样本的采样率从 7418 Hz 更改为 8192 Hz。语音信号是说话者朗读 "MATLAB®" 的录音。
加载该语音样本。
load mtlb
加载文件mtlb.mat会将语音信号mtlb和采样率Fs加载到 MATLAB 工作区中。确定新采样率 8192 与原始采样率之比的有理近似值。使用rat确定近似值。
[P,Q] = rat(8192/Fs);
以新采样率对语音样本进行重采样。绘制两个信号。
mtlb_new = resample(mtlb,P,Q);subplot(2,1,1)plot((0:length(mtlb)-1)/Fs,mtlb)subplot(2,1,2)plot((0:length(mtlb_new)-1)/(P/Q*Fs),mtlb_new)
如图所示:
如果计算机能够输出音频,可以将这两个波形以其各自的采样率播放以进行比较。在播放声音前,请将计算机上的音量设置为舒适的聆听水平。分别执行 sound 命令,比较不同采样率下的语音样本。
% sound(mtlb,Fs)% sound(mtlb_new,8192)
测量均值频率、功率、带宽
生成以 1024 kHz 采样的 chirp 信号的 1024 个采样点。chirp 信号的初始频率为 50 kHz,采样结束时达到 100 kHz。添加高斯白噪声,使信噪比为 40 dB。
nSamp = 1024;Fs = 1024e3;SNR = 40;t = (0:nSamp-1)'/Fs;x = chirp(t,50e3,nSamp/Fs,100e3);x = x+randn(size(x))*std(x)/db2mag(SNR);
估计信号的 99% 占用带宽,并在功率频谱密度 (PSD) 图上进行标注。
obw(x,Fs);
如图所示:
计算频带中的功率,并验证它是否占总数的 99%。
[bw,flo,fhi,powr] = obw(x,Fs);pcent = powr/bandpower(x)*100pcent = 99.0000
生成另一个 chirp 信号。指定其初始频率为 200 kHz、最终频率为 300 kHz,幅值为第一个信号的两倍。添加高斯白噪声。
x2 = 2*chirp(t,200e3,nSamp/Fs,300e3);x2 = x2+randn(size(x2))*std(x2)/db2mag(SNR);
将两个 chirp 信号相加以形成一个新信号。绘制信号的 PSD,并标注其中值频率。
medfreq([x+x2],Fs);
如图所示:
绘制 PSD 并标注其均值频率。
meanfreq([x+x2],Fs);
如图所示:
现在假设每个 chirp 信号代表一个单独的通道。估计每个通道的均值频率。在 PSD 图上标注其均值频率。
meanfreq([x x2],Fs)
如图所示:
ans = 1×210^5 ×0.7503 2.4999
估计每个通道的半功率带宽。在 PSD 图上标注 3-dB 带宽。
powerbw([x x2],Fs)
如图所示:
ans = 1×210^4 ×4.4386 9.2208