zoukankan      html  css  js  c++  java
  • 近期遇到的一些信号处理的问题,做一下总结

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

    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(‘{f 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)很小可忽略。

  • 相关阅读:
    最主要的商业模式
    Linux-清除rootpassword
    Drupal 关于节点(nodes)的理解
    hdu4240 求一条流量最大的路/(此题网上百分之90以上算法是错误的)
    LeetCode Next Permutation
    关于使用strtok的一个小问题
    SDUT--Pots(二维BFS)
    微信 小程序组件 滑动导航和获取元素实际高度
    微信 小程序组件 电话
    微信小程序组件 客服
  • 原文地址:https://www.cnblogs.com/lxt1105/p/6625931.html
Copyright © 2011-2022 走看看