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

摘要:
总结了近年来信号处理中的一些问题。1.如何从频谱分析仪获得的txt文件中提取相应的复信号?信号检测方法:利用信号相干性检测淹没在噪声中的信号。具有这种关系的信号称为相干信号。由于解调需要高信噪比,解扩可以提高信噪比。
近期遇到的一些信号处理的问题,做一下总结

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. 信号与系统中,时域与频域关系示意图

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

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)很小可忽略。

免责声明:文章转载自《近期遇到的一些信号处理的问题,做一下总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Dockercss实现自适应屏幕高度;下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

matlab绘图

MatLab绘图 作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面方便又高效。 一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。 如果一个命令行很长...

ppaer 67 : matlab 函数errorbar

MATLAB ERRORBAR 这个函数的意思是:ERRORBAR(X,Y,L,U),X是自变量,Y是因变量,L是Y的变动下限,U是Y的变动上限 errorbar(X,Y,E)  X是自变量,Y是因变量,E是Y的变动绝对差值。 我自己写的例子: X=[1 2 3]; Y= [ 0.2 0.4 0.2]; L=[0.1 0.03 0.03];U=[0.1 0...

Matlab高级教程_第二篇:Matlab相见恨晚的模块_02_并行运算-1

1  更高级的算法牵扯到更多重的循环和复杂的计算,尤其是现在人工智能的算法尤其如此。有些历史知识的人能够了解到,人工智能的很多基本算法其实近百年之前就有了,但是当时的计算机技术达不到去实现这些算法的要求,因此当今计算机的技术和当时已经不是在一个量级上面,因此人工智能等方案才有被重新提上日程,获得飞速的发展。也就是说,当人的思想超越当今的技术的时候我们只能等...

BUAA_2019_MATLAB基础与应用_期末复习纲要

Matlab复习提纲 一、概述 1. Matlab(Matrix Laboratory)概述 1980年,由美国的 Clever Moler 博士开发; 是一款 科学与工程计算软件; 第四代智能计算机语言。 2. 功能与特点 开放性强、可扩展性强,兼容性强,直观灵活; MATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具; 矩阵运...

matlab读取csv文件数据并绘图

circle.m(画二维圆的函数) %该函数是画二维圆圈,输入圆心坐标和半径%rectangle()函数参数‘linewidth’修饰曲线的宽度%'edgecolor','r',edgecolor表示边框颜色,r表示颜色参数%'facecolor','b',facecolor表示内部填充颜色,b表示颜色参数function [] = circle( x,y...

matlab GUI封装exe文件

        学习matlab过程中,有时有些程序处理数据时老是看着代码,也会觉得疲倦,那么要试一试matlab的GUI吗?我就是这么使用matlab的GUI制作一个小程序,并且使用matlab封装成了exe文件。         那么如何使用matlab封装exe文件呢?         1.安装MCRinstaller.exe文件,在matlab安装...