近期遇到的一些信号处理的问题,做一下总结

近期遇到的一些信号处理的问题,做一下总结

1. 如何从频谱分析仪中得到的txt文件中,提取出对应的复信号?

频谱仪对应将信号分两路存储,I路信号和Q路信号,其存放规律是I路和Q路交替存储

提取的MATLAB代码如下:

load(‘data.txt’);
Idata=data(1:2:end);   
Qdata=data(2:2:end);
Complexdata=Idat+j*Qdata;

2. 脉冲压缩的实现方式和具体意义?

实现方式有两种:

(1)时域卷积,就是回波信号和本地脉压系数进行卷积

(2)频域相乘,就是回波经过DFT后,与本地脉压系数的DFT结果进行相乘,再经过IDFT变换到时域

现实意义:利用信号的自相关性,而噪声没有相关性,在卷积后,使得有信号的地方峰值变高,就可以检测到信号。

3. 如何用MATLAB计算频域自相关函数?

就是频谱模平方的傅里叶反变换

MATLAB代码:

NFFT=2*numel(x)-1;
ffta=fft(x,NFFT);
b=fftshift(ifft(ffta.*conj(ffta)));

4. 数字滤波器的通俗理解?

数字滤波器的原理很简单,通俗讲就是:将输入的时间数据序列转换到频域内,得到频域数据序列,然后乘上滤波器的转换系数得到过滤后的数据序列,然后将该序列转换到时域内,就是需要的数据序列。滤波器函数只是简化了相关过程。

5. 信号与系统中,时域与频域关系示意图

6. MATLAB中计算功率谱的函数内部是什么样的?

MATLAB中功率谱实现函数是像这个样子的:

function [p,f]=fftpsd(x,Fs)
m=length(x);%整个数据长度
n=pow2(nextpow2(m))%扩展到合适长度,2的整数次幂
y=fft(x,n);
f=(0:n-1)*(Fs/n);%频率范围
p=y.*conj(y)/n ;%功率谱范围
f=f(1:n/2);
p=p(1:n/2);
%plot(f,10log10(p))%把数据转换为dB
plot(f,p)
grid;
xlabel(‘Frequency(Hz)’);
ylabel(‘Power(dB)’);
title(‘{\bf Periodogram}’);


7. 上变频和下变频

基带<->中频:一般基带信号也是数字信号,中频处理也是数字化的。因此

  基带->中频:一般都是使用DUC进行数字上变频

  中频->基带:一般都是使用DDC进行数字下变频

中频<->射频:

  中频->射频:数字中频信号经过DAC变成模拟信号,在上变频到射频

  射频->中频:射频信号下变频到中频,再经过ADC变化成数字中频信号

8. 负频率的物理意义?

正频率代表向量逆时针旋转,则负频率代表向量顺时针旋转。

 9. 如何将MATLAB中多幅fig图片合成一幅fig?

MATLAB对应的代码如下:

%MultiToOne.m
h1 = openfig('多普勒谱300W.fig','reuse');
ax1 = gca;

h2 = openfig('多普勒谱500W.fig','reuse'); % open figure
ax2 = gca; % get handle to axes of figure

h3 = openfig('多普勒谱1000W.fig','reuse');
ax3 = gca;

h7 = figure; %create new figure

s1 = subplot(1,3,1); %create and get handle to the subplot axes
s2 = subplot(1,3,2);
s3 = subplot(1,3,3); %create and get handle to the subplot axes

fig1 = get(ax1,'children'); %get handle to all the children in the figure
fig2 = get(ax2,'children');
fig3 = get(ax3,'children'); %get handle to all the children in the figure

copyobj(fig1,s1); %copy children to new parent axes i.e. the subplot axes
copyobj(fig2,s2);
copyobj(fig3,s3); %copy children to new parent axes i.e. the subplot axes

 10. 如何从MATLAB中fig图片中提取出数据?

如果你的曲线是用plot画的,则可以采用如下代码提取数据

open('figname.fig');  
h_line=get(gca,'Children');%get linehandles  
xdata=get(h_line,'Xdata');  
yadta=get(h_line,'Ydata');  
save data yadta  xdata

 11.扩频信号的接收:解扩+解调(一般顺序不能颠倒)

解扩:在伪随机码同步的情况下,通过对接收信号的相关处理从而获得处理增益,提高解调器输入端的信噪比,降低误码率。

检测信号的方法:采用信号的相干性检测淹没在噪声中的信号。信号的相干性是指信号的某个特定标记(振幅、相位、频率等)在时间坐标中有规定的时间关系。我们把具有这种关系的信号称为相干性信号。

检测信号的过程(相干检测):对相干信号和噪声的混合波进行某种时域上的运算,然后根据某种法则进行判别,再实现相干信号和噪声的分离。

为什么先解扩在解调?    因为解调需要较高的信噪比,解扩能提高信噪比。

12、rayleighchan实现瑞利多径衰落信道

(1)命令格式: chan = rayleighchan(ts,fd,tau,pdb)

其中: ts—为输入信号的采样周期, fd—就是Doppler频偏,以Hz为单位,与速率的换算关系为v×fc/c,fc是载频 tau—输入的信道参数,一个向量,包含了各径的延时,以s为单位 pdb—输入的信道参数,一个向量,包含了各径的功率(当然是均值啦,实际产生的能量都是以此为均值的随机量),以dB为单位。 然后y = filter(chan,x),即可将信道的影响加在输入的数据x上。

(2)原理

rayleighchan函数生成信道的过程实际是设计一个多抽头的滤波器,而滤波器的系数计算是多个sinc函数加权、延时后的求和:
g(n)=\sum_k{ sinc( tau(k)/Ts-n) h(k) },-N1<=n<=N2
其中N1和N2的选取要使得在-N1<=n<=N2之外的g(n)很小可忽略。

posted @ 2017-03-27 11:35  walanwalan  阅读(1632)  评论(0编辑  收藏  举报