近期遇到的一些信号处理的问题,做一下总结
近期遇到的一些信號處理的問題,做一下總結
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)很小可忽略。
總結
以上是生活随笔為你收集整理的近期遇到的一些信号处理的问题,做一下总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis 超详细自动管理Cluster
- 下一篇: HTML 的超链接 a 标签中如何设置其