MATLAB产生数字调制基带信号(python对比)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                MATLAB产生数字调制基带信号(python对比)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                如何用MATLAB產(chǎn)生數(shù)字調(diào)制的基帶信號(hào),這是設(shè)計(jì)調(diào)制解調(diào)器的第一步。
matlab實(shí)現(xiàn)
T=1; % 基帶信號(hào)寬度,也就是頻率 nb=100; % 定義傳輸?shù)谋忍財(cái)?shù) delta_T=T/200; fs=1/delta_T; % 采樣頻率 fc=10/T; % 載波頻率 SNR=0; % 信噪比 t=0:delta_T:nb*T-delta_T; % 限定t的取值范圍(0,20000) N=length(t); % 采樣數(shù) %%%%%%%%%%%產(chǎn)生基帶信號(hào)%%%%%%%%%%%%%%% data=randn(1,nb)>0.5; % 調(diào)用隨機(jī)函數(shù)產(chǎn)生任意在0到1的1*nb的矩陣,大于0.5顯示為1,小于0.5顯示為0 data0=zeros(1,nb/delta_T); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣 for q=1:nb data0((q-1)/delta_T+1:q/delta_T)=data(q); % 將基帶信號(hào)變換成對(duì)應(yīng)波形信號(hào) end figure(1) subplot(2,1,1); plot(data0),title('基帶信號(hào)');python實(shí)現(xiàn)
我們將上述代碼改寫為python實(shí)現(xiàn),產(chǎn)生基帶信號(hào):
import numpy as np from math import pi import matplotlib.pyplot as plt from pylab import mpl, text from matplotlib.font_manager import FontProperties font = FontProperties(fname="/root/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/simhei.ttf") plt.rcParams['font.sans-serif']=['simhei'] import matplotlib import scipy.signal as signal import mathT = 1 #基帶信號(hào)寬度,也就是頻率 nb = 100 #定義傳輸?shù)谋忍財(cái)?shù) delta_T = T/200 #采樣間隔 fs = 1/delta_T #采樣頻率 fc = 10/T #載波頻率 SNR = 0 #信噪比t = np.arange(0, nb*T, delta_T) N = len(t)# 產(chǎn)生基帶信號(hào) data = [1 if x > 0.5 else 0 for x in np.random.randn(1, nb)[0]] #調(diào)用隨機(jī)函數(shù)產(chǎn)生任意在0到1的1*nb的矩陣,大于0.5顯示為1,小于0.5顯示為0 data0 = [] #創(chuàng)建一個(gè)1*nb/delta_T的零矩陣 for q in range(nb):data0 += [data[q]]*int(1/delta_T) #將基帶信號(hào)變換成對(duì)應(yīng)波形信號(hào) plt.figure(figsize=(14,10)) #設(shè)置圖表大小 plt.axis([0, 20000, -2, 2]) plt.plot(data0) plt.title('基帶信號(hào)',fontproperties=font,fontsize=20) plt.show()遇到的問(wèn)題
1、matlab 設(shè)定時(shí)間取值范圍采用t=0:delta_T:nbT-delta_T的方式,但是在python中需要改變一下t = np.arange(0, nbT, delta_T),使用隨機(jī)數(shù)來(lái)設(shè)置。
 2、在Python中列表+= 是拼接列表,然后,列表*C是長(zhǎng)度變?yōu)镃倍。
以上是運(yùn)用matlab和python兩種方式產(chǎn)生的基帶信號(hào),對(duì)比發(fā)現(xiàn)兩種代碼基本相似,只是語(yǔ)法不用。接下來(lái)將設(shè)計(jì)如何產(chǎn)生調(diào)制信號(hào),同樣使用matlab和python兩種方式來(lái)設(shè)計(jì)算法。
總結(jié)
以上是生活随笔為你收集整理的MATLAB产生数字调制基带信号(python对比)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 矩阵的意义
- 下一篇: 《空号》:聊聊我在阿里外包3个月学到了什
