




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
FMGen.cpp
#include"stdafx.h"#include"mod_demod.h"#include"FMGen.h"#include"head.h"#include"SourceGenClass.h"
#ifdef_DEBUG#undefTHIS_FILEstatic
char
THIS_FILE[]=__FILE__;#definenewDEBUG_NEW#endif
////////////////////////////////////////////////////////////////////////Construction/Destruction//////////////////////////////////////////////////////////////////////
FMGen::FMGen(CStringpnameModel,
CStringptypeModel,
long
vmodelSampleFreq,
long
vinputSampleFreq,
int
vtimeStep,
CStringpnameGetDataFile,
CStringpnamePutDataFile,
double
vampCarrier,
long
vfreqCarrier,
double
vphaseCarrier,
double
vModPara):ModBaseClass(pnameModel,ptypeModel,
vmodelSampleFreq,
vinputSampleFreq,
vtimeStep,
pnameGetDataFile,
pnamePutDataFile,
vampCarrier,
vfreqCarrier,
vphaseCarrier,
vModPara){
}
FMGen::~FMGen(){
}void
FMGen::run(){
double
dt;
float
*fn;
long
num_of_scan;
long
i;
double
phase_n,phase_n_1,dphase;
double
const_var;
dt=1.0/inputSampleFreq;
num_of_scan=(long)timeStep/1000.0*inputSampleFreq;
//begintomodulate
fn=getData(nameGetDataFile,1,num_of_scan);
if(!fn)
{
cout<<"Erroroccuredwhenread"<<nameGetDataFile<<".\n";
getch();
exit(1);
}
phase_n_1=ModPara*(*fn)*dt+phaseCarrier;
*fn=ampCarrier*cos(phase_n_1);
const_var=2*pi*freqCarrier*dt;
for
(i=1;i<num_of_scan;i++)
{
dphase=const_var+ModPara*(*(fn+i))*dt;
while
(dphase>=10000*2*pi)dphase-=2*pi*10000;
while
(dphase<=-2*pi*10000)dphase+=2*pi*10000;
phase_n=phase_n_1+dphase;
while
(phase_n>=2*pi*10000)phase_n-=2*pi*10000;
while
(phase_n<=-2*pi*10000)phase_n+=2*pi*10000;
*(fn+i)=ampCarrier*cos(phase_n);
phase_n_1=phase_n;
}
if(putData(fn,namePutDataFile,num_of_scan)==FALSE)
{
cout<<"whensavemodulationdata,erroroccured.\n";
free(fn);
getch();
exit(1);
}
free(fn);
cout<<"FMmodulationcomplete.\n";
}二.
//FMGen.h:interfacefortheFMGenclass.////////////////////////////////////////////////////////////////////////
#if!defined(AFX_FMGEN_H__119F55AA_0AA6_4CD7_948F_7010ED803ED4__INCLUDED_)#defineAFX_FMGEN_H__119F55AA_0AA6_4CD7_948F_7010ED803ED4__INCLUDED_
#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000
#include"ModBaseClass.h"
class
FMGen:
public
ModBaseClass
{
public:
FMGen(CString,CString,
long,long,
int,CString,
CString,double,
long,double,double);
virtual
~FMGen();
virtual
void
run();
};
#endif//!defined(AFX_FMGEN_H__119F55AA_0AA6_4CD7_948F_7010ED803ED4__INCLUDED_)附錄1:FM調(diào)制源程序清單
%程序名稱:tiaozhixinhao.m
%程序功能:產(chǎn)生模擬基帶信號(hào)并對(duì)調(diào)制信號(hào)進(jìn)行傅立葉變化得到調(diào)制信號(hào)的頻譜圖
%程序代碼
fc
=
150;
%載波頻率
fs
=
400;
%采樣頻率
t
=
(0
:0.001:0.15);
%時(shí)間區(qū)域
x
=
sin(2*pi*30*t);
%輸入信號(hào)
figure(1)
plot(t,x);
%調(diào)制信號(hào)時(shí)域圖xlabel('t');ylabel('x');
axis([0
0.15
-1
1])
a=fft(x,1024);
%對(duì)x進(jìn)行傅利葉變換
f=(0:length(a)-1)*fs/length(a)
-fs/2;
figure(2)
plot(f,abs(a));
%調(diào)制信號(hào)頻譜圖
xlabel('Frequence(Hz)');
%頻率分量
ylabel('powerSpectrum(x)');
%頻率譜能量
附錄2:FM調(diào)制源程序清單
%程序名稱:quyang400.m
%程序功能:調(diào)用函數(shù)modulate實(shí)現(xiàn)FM的調(diào)制
%程序代碼fc
=
150;
%載波頻率
fs
=
400;
%采樣頻率
t
=
(0
:0.001:0.15);
%時(shí)間區(qū)域x
=
sin(2*pi*30*t);
%輸入信號(hào)
y
=
modulate(x,fc,fs,'FM');
%調(diào)制信號(hào)
figure(3)
plot(t,y)
%對(duì)y進(jìn)行傅利葉變換
f=(0:length(b)-1)*fs/length(b)
-fs/2;
figure(4)
plot(f,abs(b));
%FM信號(hào)頻譜圖
xlabel('Frequence(Hz)');
%頻率分量
ylabel('Power
Spectrum(y)');
%頻率譜能量
附錄3:FM調(diào)制源程序清單
%程序名稱:quyang1600.m
%程序功能:調(diào)用函數(shù)modulate實(shí)現(xiàn)FM的調(diào)制
%程序代碼
fc
=
150;
%載波頻率
fs
=
1600;
%采樣頻率
t
=
(0
:0.001:0.15);
%時(shí)間區(qū)域
x
=
sin(2*pi*30*t);
%輸入信號(hào)
y
=
modulate(x,fc,fs,'FM');
%調(diào)制信號(hào)
plot(t,y);
%FM信號(hào)時(shí)域圖
xlabel('t(s)');ylabel('y');
axis([0
0.15
-1
1]);
b=fft(y,1024);
%對(duì)y進(jìn)行傅利葉變換
f=(0:length(b)-1)*fs/length(b)
-fs/2;
figure
plot(f,abs(b));
%FM信號(hào)頻譜圖
xlabel('Frequence(Hz)');
%頻率分量
ylabel('Power
Spectrum(y)');
%頻率譜能量
附錄4:FM調(diào)制源程序清單%程序名稱:xinzaobi1.m
%程序功能:對(duì)FM調(diào)制后的信號(hào)加入高斯噪聲,信噪比為1
%程序代碼
fc
=
150;
%載波頻率
fs
=
400;
%采樣頻率
t
=
(0
:0.001:0.15);
%時(shí)間區(qū)域
x
=
sin(2*pi*30*t);
%輸入信號(hào)
y
=
modulate(x,fc,fs,'FM');
%調(diào)制信號(hào)
y1
=
y
+
awgn(y,1,0);
%
FM信號(hào)加入噪聲
plot(t,y1);
%FM信號(hào)時(shí)域圖
xlabel('t(s)');ylabel('y');
axis([0
0.15
-1
1]);
b=fft(y1,1024);
%對(duì)y進(jìn)行傅利葉變換
f=(0:length(b)-1)*fs/length(b)
-fs/2;
figure
plot(f,abs(b));
%FM信號(hào)頻譜圖
xlabel('Frequence(Hz)');
%頻率分量
ylabel('Power
Spectrum(y)');
%頻率譜能量
附錄5:FM調(diào)制源程序清單
%程序名稱:xinzaobi2.m
%程序功能:對(duì)FM調(diào)制后的信號(hào)加入高斯噪聲,信噪比為0.1
%程序代碼
fc
=
150;
%載波頻率
fs
=
400;
%采樣頻率
t
=
(0
:0.001:0.15);
%時(shí)間區(qū)域
x
=
sin(2*pi*30*t);
%輸入信號(hào)
y
=
modulate(x,fc,fs,'FM');
%調(diào)制信號(hào)
y1
=
y
+
awgn(y,0.1,0);
%FM信號(hào)加入噪聲
plot(t,y1);
%FM信號(hào)時(shí)域圖
xlabel('t(s)');ylabel('y');
axis([0
0.15
-1
1]);
b=fft(y1,1024);
%對(duì)y進(jìn)行傅利葉變換
f=(0:length(b)-1)*fs/length(b)
-fs/2;
figure
plot(f,abs(b));
%FM信號(hào)信號(hào)頻譜
xlabel('Frequence(Hz)');
%頻率分量
ylabel('Power
Spectrum(y)');
%頻率譜能量
附錄6:FM調(diào)制源程序清單
%程序名稱:FM.m
%程序功能:對(duì)FM調(diào)制后的信號(hào)加入高斯噪聲,信噪比為5
%程序代碼
fc
=
150;
%載波頻率
fs
=
400;
%采樣頻率
t
=
(0
:0.001:0.15);
%時(shí)間區(qū)域
x
=
sin(2*pi*30*t);
%輸入信號(hào)
y
=
modulate(x,fc,fs,'FM');
%調(diào)制信號(hào)
y1
=
y
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農(nóng)業(yè)產(chǎn)業(yè)化行業(yè)當(dāng)前市場(chǎng)規(guī)模及未來五到十年發(fā)展趨勢(shì)報(bào)告
- 2025年市政工程行業(yè)當(dāng)前發(fā)展現(xiàn)狀及增長(zhǎng)策略研究報(bào)告
- 2025年事業(yè)單位工勤技能-廣東-廣東舞臺(tái)技術(shù)工四級(jí)(中級(jí)工)歷年參考題庫(kù)含答案解析(5套)
- 2025年醫(yī)療器械研發(fā)中心專業(yè)醫(yī)生引進(jìn)及服務(wù)合同
- 2025年度商用衛(wèi)星設(shè)備批量采購(gòu)協(xié)議書
- 2025年度智能風(fēng)力發(fā)電系統(tǒng)安裝與升級(jí)改造項(xiàng)目合同
- 2025年度高科技園區(qū)股東合作協(xié)議:智能安全生產(chǎn)與職業(yè)健康保障書
- 2025年生物能源項(xiàng)目投資收益保障及返租協(xié)議合同
- 2025年珠寶店員工績(jī)效獎(jiǎng)金體系建立與執(zhí)行合同
- 2025年度智能辦公空間設(shè)計(jì)與施工全流程維護(hù)服務(wù)合同
- 高中英語(yǔ)新外研版選擇性必修四Unit2知識(shí)點(diǎn)歸納總結(jié)(復(fù)習(xí)課件)
- XX市選調(diào)生跟班學(xué)習(xí)鑒定表
- 泛微協(xié)同辦公應(yīng)用平臺(tái)解決方案
- 空調(diào)器設(shè)定溫度與耗電量關(guān)系
- quite imposing plus 3 0中文破解拼版插件內(nèi)含安裝說明qi教程
- 《醫(yī)院感染管理辦法》知識(shí)試題與答案
- 提高管床護(hù)士對(duì)患者診療信息的知曉度PDCA記錄表
- 孕期患者非產(chǎn)科手術(shù)的麻醉
- 養(yǎng)老機(jī)構(gòu)臨終關(guān)懷服務(wù)手冊(cè)
- 母嬰產(chǎn)品抖音運(yùn)營(yíng)方案
- GB/T 27007-2011合格評(píng)定合格評(píng)定用規(guī)范性文件的編寫指南
評(píng)論
0/150
提交評(píng)論