您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 正弦扫频信号的一些探索
正弦扫频信号的一些探索一、线性扫频1、线性扫频信号的一些特点。f0=20;f1=22000;T=1;beta=(f1-f0)/T;%线性扫频fs=44.1e3;t=0:1/fs:T-1/fs;f=f0+beta*t;%线性扫频figureplot(f)phase=2*pi*(f0*t+0.5*beta*t.^2);%线性扫频phase2=fliplr(phase);x=sin(phase);x2=sin(phase2);figureplot(t,x);左边是x的图,右边是开始部分放大的图。figureplot(t,x2)左边是x2的图,右边是末尾部分放大的。len=length(x);y=fft(x,len);y2=fft(x2,len);half_len=floor(len/2)+1;freq_axis=linspace(0,fs/2,half_len);figureplot(freq_axis,2*abs(y(1:half_len))./len);xlim([0,f1*1.1]);频率分布图。幅值表示每个频率成分的平均幅度。figureplot(freq_axis,2*abs(y2(1:half_len))./len);xlim([0,f1*1.1]);频率分布图。幅值表示每个频率成分的平均幅度。由以上两图知,线性扫频信号和反转信号的频率分布是完全相同的。2、线性扫频信号,通过解卷积计算出脉冲响应:f0=20;f1=22000;T=1;beta=(f1-f0)/T;%线性扫频fs=44.1e3;t=0:1/fs:T-1/fs;f=f0+beta*t;%线性扫频phase=2*pi*(f0*t+0.5*beta*t.^2);%线性扫频phase2=fliplr(phase);x=sin(phase);x2=sin(phase2);len=length(x);h=[12458];%构造脉冲响应pulse=conv(x,x2);max_pulse=max(pulse);pulse=pulse./max_pulse;figureplot(pulse);z=conv(x,h);y2=conv(z,x2);y2=y2./max_pulse;len2=length(y2);figurestem(y2)a=1;原线性扫频信号和反转信号的卷积结果:解卷积得到的序列y2:将中间部分放大:可见,解卷积得到的结果中间部分几乎就是原构造的脉冲响应!这说明这种方法是可行的!当扫频信号更长时(可以提高采样率,或者增加采样时间等),其与反转信号有更好的卷积结果(更接近冲击响应,即主旁瓣之比更高,主瓣能量更集中),此时解出的脉冲响应将更加接近真实的脉冲响应值!另外,本例中对原扫频信号与其反转信号的卷积归一化是正确的。归一化因子,在后面解卷积中要使用到。也是正确的。唯一现在不能确定的是,从解卷积信号中提取出脉冲响应时,怎样确定起始终止的点数。这里只选取将中间的一段放大找到,但没有从数值上准确计算,这点有待研究。设原信号点数为N,则翻转信号点数也是N,解卷积信号点数为M,则,可算出此时的脉冲响应长度K满足:(N+K-1)+N-1=M,得:K=M+2-2N则,要得到脉冲响应,只需要取解卷积结果中第N到N+K-1项即可。即是N到N+M+2-2N-1=M-N+1项!将上述程序后面增加两句:h2=y2(len:len2-len+1)figure,stem(h2)即得:完全就是脉冲响应!二、指数扫频1、指数扫频信号的特点clear,clc11.522.533.544.55012345678closeallf0=20;f1=22000;T=1;beta=(f1/f0).^(1/T);%对数扫频fs=44.1e3;t=0:1/fs:T-1/fs;f=f0*beta.^t;%对数扫频figureplot(f)phase=2*pi*f0*T/log(f1/f0)*(beta.^t-1);%对数扫频phase2=fliplr(phase);x=sin(phase);x2=sin(phase2);pulse=conv(x,x2);max_pulse=max(pulse);pulse=pulse./max_pulse;figureplot(pulse);title('pulse');len=length(x);y=fft(x,len);y2=fft(x2,len);half_len=floor(len/2)+1;freq_axis=linspace(0,fs/2,half_len);figurerela_level=min(abs(y));plot(log(freq_axis),20*log(abs(y(1:half_len)/rela_level)));xlim([0,log(f1*1.1)]);ylabel('dB');figurerela_level=min(abs(y2));plot(log(freq_axis),20*log(abs(y2(1:half_len)/rela_level)));xlim([0,log(f1*1.1)]);ylabel('dB');由最后两幅图知,指数扫频信号和其反转信号的频谱分布也是一样的!2、幅度调制的情况:1)后调制(Farina的方法)clear,clccloseallf0=20;f1=22000;T=1;beta=(f1/f0).^(1/T);%对数扫频fs=44.1e3;t=0:1/fs:T-1/fs;f=f0*beta.^t;%对数扫频phase=2*pi*f0*T/log(f1/f0)*(beta.^t-1);%对数扫频phase2=fliplr(phase);x=sin(phase);x2=sin(phase2);%%后调制---------------mt=f0./f;x2=mt.*x2;pulse=conv(x,x2);max_pulse=max(pulse);pulse=pulse./max_pulse;figureplot(pulse);title('pulse');len=length(x);y=fft(x,len);y2=fft(x2,len);half_len=floor(len/2)+1;freq_axis=linspace(0,fs/2,half_len);figurerela_level=min(abs(y));plot(log(freq_axis),20*log(abs(y(1:half_len)/rela_level)));xlim([0,log(f1*1.1)]);ylabel('dB');00.511.522.533.5405101520253035dBfigurerela_level=min(abs(y2));plot(log(freq_axis),20*log(abs(y2(1:half_len)/rela_level)));xlim([0,log(f1*1.1)]);ylabel('dB');2)前调制接上面信号产生后:%%前调制----------------------nt=(f./f0).^0.5;x=nt.*sin(phase);x2=fliplr(x);pulse=conv(x,x2);max_pulse=max(pulse);pulse=pulse./max_pulse;figureplot(pulse,'k');title(44100点扫频信号和翻转信号的归一化卷积结果);00.511.522.533.540510152025303540dBlen=length(x);y=fft(x,len);y2=fft(x2,len);half_len=floor(len/2)+1;freq_axis=linspace(0,fs/2,half_len);figurerela_level=min(abs(y));plot(log10(freq_axis),20*log10(abs(y(1:half_len)/rela_level)));xlim([0,log10(f1*1.1)]);ylabel('dB');0123456789x104-0.200.20.40.60.811.244100点扫频信号和翻转信号的归一化卷积结果figurerela_level=min(abs(y2));plot(log10(freq_axis),20*log10(abs(y2(1:half_len)/rela_level)));xlim([0,log10(f1*1.1)]);ylabel('dB');可见,采用前调制,原信号和翻转信号的频谱是一样的了。三、一些疑问剩下的疑问是,上面对于同一个正弦指数扫频信号,两种调制得到的原信号和翻转信号的频谱能量是相等的么?或者,本来就不需要相等的?00.511.522.533.540246810121416dB00.511.522.533.540246810121416dB本来,调制是为了改变正弦指数扫频信号和直接翻转信号的卷积信号能量分布多在低频的问题,也就是,调制要使低频信号的能量减小一些,使高频信号的能量增大一些,或者说使能量均衡。那么,是否不需要两种调制的能量相等,只需要每次调制后,原信号和翻转信号的卷积信号能量分布均衡就可以了?
本文标题:正弦扫频信号的一些探索
链接地址:https://www.777doc.com/doc-4209615 .html