女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于MATLAB實現FM調制解調

FPGA設計論壇 ? 來源:CSDN技術社區 ? 作者:CSDN技術社區 ? 2025-06-06 11:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

首先FM調制時屬于非線性調制中的一種,常見的非線性調制時FM(頻率調制),PM(相位)調制

FM調制:就是利用調制信號的變化去改變載波的頻率,幅度保持不變,即載波信號的頻率隨我們調制信號的幅度變化而變化。

首先我們先介紹一些通信原理上的基本得概念:

344c0d02-404d-11f0-b715-92fbcf53809c.png

現在FM調制就是我們將我們的基帶信號替換位其φt,但是我們會在其基帶信號的前面乘以一個調頻系數,也叫調頻靈敏度。這就通過我們基帶信號的振幅,改變其載波的頻率,這樣就是實現了頻率調制。下面我們假設基帶信號為一個余弦波:

3492b306-404d-11f0-b715-92fbcf53809c.jpg

34aba974-404d-11f0-b715-92fbcf53809c.png

上述就是其FM 調制的數學式子,這就實現了其FM 調制

這里說明上圖中的積分轉化為求和,因為積分是我們的連續域的,而我們的這都是數字信號,都是連續域,這就相當于我們的信號與系統中的傅里葉變化對應連續域,Z變化對應離散域。所以連續域的積分對應到離散域就是求和。

IQ調制:現代通信系統為了使頻譜利用率更高,用了許多種矢量調制,IQ調制中,兩個正交信號(頻率相同,相位相差90 °的載波,一般用Sin和Cos表示)與I(In-Phase,同相分量)、Q(Quadrature Phase,正交分量)兩路信號分別調制后一起發射,從而提高頻譜利用率。

所以接下來我們要將上式轉為IQ兩路,然后利用天線進行發送

34c64cd4-404d-11f0-b715-92fbcf53809c.jpg

我們I路信號為:cos ,圖中的cos(wt) 為載波信號

我們Q路信號為:sin , 圖中的sin(wt) 為載波信號

FM解調:

相干解調:相干解調也叫同步檢波,它適用于所有線性調制信號的解調。實現相干解調的關鍵是接收端要恢復出一個與調制載波嚴格同步的相干載波。相干解調是指利用乘法器,輸入一路與載頻相干(同頻同相)的參考信號與載頻相乘。

非相干解調:通信接收端從已調高頻信號中恢復出原始數字基帶信號時,采用的非相干解調方式,相對于相干解調方式,是指不需要提取載波信息的一種解調方法。

所謂相干,泛泛地說就是相互干擾;相干解調是指利用乘法器,輸入一路與載頻相干(同頻同相)的參考信號與載頻相乘。

這里的解調是運用的非相干解調:

我們將上述的調制信號分別乘以coswt,-sinwt,就可以得到相應的IQ路的數據,然后分別通過一個低通濾波器,濾除高頻分量,就可以的得到以基帶信號為頻率的I路Q路載波信號,然后兩個再相比,就可以得到其正切值,再求反正切就可以了的到其角度,角度就是我們的基帶信號。

34dd31ba-404d-11f0-b715-92fbcf53809c.png

35052c6a-404d-11f0-b715-92fbcf53809c.jpg

35239efc-404d-11f0-b715-92fbcf53809c.jpg

這里的微分在離散域其實就是我們的相連的數據求差分。所以我們直接就可以求得基帶信號m.

FM調制matlab實現。

說明:因為后續會用硬件FPGA 實現,所以matlab 實現實現算法也會像盡可能的逼近其硬件。

思路:

產生基本的信號:基帶信號m(n),載波cos(wt),sin(wt)的實現

我們這里實現信號發生器是用的查表法,即FPGA,MATLAB 產生DDS,這里就不說明其方法了,相關信息可以看我發的其他博客,里面有詳細的教程,以及原理介紹。

下面就是FM調制解調代碼:

clc;

clear all;

%*****************************************

fs = 16e6; %采樣率 載波的采樣率

fc = 1e6; %載波中心頻率

df = 75e3; %最大頻偏

fm = 16e3; %音頻的采樣率

kf = (df*2^32/fs)/32767;

AC= 1024;%幅度

%由于我們的載波的采樣率是我們的音頻的采樣率的1000倍,但是我們在進行FM調制時

%會用到兩個相乘,所以相當于一個語音信號的點,要被采樣1000次,并且要求數據長度一致

%所以我們可以將語音信號的每一個樣點復制1000次

%read pcm file

%*********************

%read pcm file

file= fopen('v3edu.pcm','r');

m=fread(file,'int16');

m_len=length(m)*fs/fm;%按照載波采樣率的長度計算

figure(1);

plot(m);title('原始的語音信號');

%*****************************

%generate 1Mhz

w=fc*2^32/fs; %頻率控制字,32位的相位累加器, f_out = fs*w/2^N :

% 載波的ROM

n=0:1/1024:1023/1024;

s_rom=sin(2*pi*n);

c_rom=cos(2*pi*n);

%plot(s_rom);

%接下來產生載波地址,

w_r=0;%相位累加器

rrom_addr=0;%

cw_sin=zeros(1,m_len);%這個相當于是我們的查找表,一個周期的正弦波

cw_cos=zeros(1,m_len);

for i=1:m_len

w_r = w_r + w;

if(w_r > 2^32) % 做32位累加器的溢出判斷

w_r= w_r - 2^32;

end

rrom_addr=round(w_r/2^22);%讀查找表的地址

if rrom_addr == 0%matlab計數時從1開始計數

rrom_addr =1;

end

cw_sin(i)=s_rom(rrom_addr);%%%%%%載波完成

cw_cos(i)=c_rom(rrom_addr);%載波

end

figure(2);

subplot(2,1,1);plot(cw_sin(1:3000),'r');title('sin載波信號');

subplot(2,1,2);plot(cw_cos(1:3000),'b');title('cos載波信號');

%給音頻數據升采樣,與載波長度一致,后面要相乘,所以要保證信號的長度是一樣的

m_t=zeros(1,m_len);

for i=1:length(m)

for j=1:fix(fs/fm)

m_t((i-1)*fix(fs/fm)+j)=m(i);%同一個16k的采樣點復制1000次這樣就是16M采樣點

end

end

%*************************

%調制 sin 和cos 的信號

w_r=0;%相位累加器

rrom_addr=0;%

dac_i=zeros(1,m_len);%cos,I路信號

dac_q=zeros(1,m_len);%sin Q路信號

for i=1:m_len

w_r = w_r + kf*m_t(i);

if(w_r > 2^32) % 做32位累加器的溢出判斷

w_r= w_r - 2^32;

elseif(w_r <0)

w_r = w_r + 2^32; % 負的溢出時

end

rrom_addr=round(w_r/2^22);%讀查找表的地址

if rrom_addr == 0

rrom_addr =1;

end

dac_q(i)=AC*s_rom(rrom_addr);

dac_i(i)=AC*c_rom(rrom_addr);%載波

end

%****************************

%正交調制

s_t=zeros(1,m_len);

for i=1:m_len

s_t(i) = dac_i(i)*cw_cos(i) + dac_q(i)*cw_sin(i)*(-1);

end

figure(3);

plot(s_t);title('調制完成信號');

調制結束

MATLAB 濾波器的實現:

我們實現一個簡單的低通濾波器,只需要將我們我們需要的濾波器參數輸入Filter Solutions中,然后復制器抽頭系數,然后與我們的輸入數據相卷積就可以了,下面的代碼有注釋.

%%%%%%%%%%%%正交解調%%%%%%%%%%%%%%%%

i_data = zeros(1,m_len);

q_data = zeros(1,m_len);

for i = 1 : m_len

i_data(i) = s_t(i) * cw_cos(i);

q_data(i) = (-1)* s_t(i) * cw_sin(i);

end

%%%%%%%%%%%%%%進行低通濾波%%%%%%%%%%%%%%%%

%濾波器抽抽頭系數,

NUM = [-7.894e-05, -2.483e-04, -4.516e-04, -7.089e-04, -1.035e-03, -1.435e-03, -1.903e-03, -2.417e-03, -2.938e-03, -3.415e-03, -3.778e-03, -3.948e-03, -3.837e-03, -3.357e-03, -2.42e-03, -9.524e-04, 1.106e-03, 3.791e-03, 7.113e-03, 1.105e-02, 1.554e-02, 2.051e-02, 2.583e-02, 3.135e-02, 3.691e-02, 4.233e-02, 4.742e-02, 5.199e-02, 5.588e-02, 5.894e-02, 6.105e-02, 6.213e-02, 6.213e-02, 6.105e-02, 5.894e-02, 5.588e-02, 5.199e-02, 4.742e-02, 4.233e-02, 3.691e-02, 3.135e-02, 2.583e-02, 2.051e-02, 1.554e-02, 1.105e-02, 7.113e-03, 3.791e-03, 1.106e-03, -9.524e-04, -2.42e-03, -3.357e-03, -3.837e-03, -3.948e-03, -3.778e-03, -3.415e-03, -2.938e-03, -2.417e-03, -1.903e-03, -1.435e-03, -1.035e-03, -7.089e-04, -4.516e-04, -2.483e-04, -7.894e-05];

adc_i = conv(i_data,NUM); %低通濾波

adc_q = conv(q_data,NUM);%%%%

%%%%%%%%%%%%%FM解調%%%%%%%%%%%%%%%%%%%%%%

%重新檢測數據長度

c_len = length(adc_i);

cr = zeros(1,c_len);

cj = zeros(1,c_len);

for i = 2: c_len %必須從2開始,因為有I-1

cr(i) = adc_i(i)*adc_i(i) +adc_q(i)*adc_q(i);

cj(i) = adc_i(i-1) * adc_q(i) - adc_i(i)* adc_q(i-1);%I(n-1)*Q(n) -I(n)*Q(n-1)

end

angle = zeros(1,c_len);

for i = 1:c_len

if cr(i) == 0

angle(i) = 0;

else

angle(i) = (cj(i)/cr(i))*2 ^16; %FPGA 中沒有小數,要進行量化

end

end

%%%%%%%%%%%%%降采樣%%%%%%%%%%%%%%%%%%%%%%%%%

%降采樣,以均值方式,16M,降到16k

d_len = length(angle);

sum = 0;

cnt = 0;

demout = zeros(1,fix(d_len*(fm/fs)));

d_cnt = 1;

for i= 1:d_len

sum = sum + angle(i);

if cnt == fs/fm %完成1000次的累加

demout(d_cnt) = sum /cnt;

d_cnt = d_cnt + 1;

cnt = 0;

sum= 0;

end

cnt = cnt + 1;

end

figure(4);

plot(demout);title('解調后的信號');

最后結果圖:

353faa2a-404d-11f0-b715-92fbcf53809c.jpg

355f9920-404d-11f0-b715-92fbcf53809c.jpg

35787562-404d-11f0-b715-92fbcf53809c.jpg

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 調制解調
    +關注

    關注

    0

    文章

    76

    瀏覽量

    21900
  • matlab
    +關注

    關注

    189

    文章

    3001

    瀏覽量

    233993
  • FM調制
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6828

原文標題:FM調制解調以及MATLAB實現

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FM信號的解調電路--斜率鑒頻器

    FM信號的解調電路--斜率鑒頻器 頻率檢波就是從FM信號中檢取出原調制信號。鑒頻器是實現頻率檢波的裝置。 鑒
    發表于 05-27 16:52 ?2.3w次閱讀
    <b class='flag-5'>FM</b>信號的<b class='flag-5'>解調</b>電路--斜率鑒頻器

    QPSK信號的調制解調及其誤碼率的仿真

    附件中有3個matlab的.m文件,是實現2psk信號的調制解調及其誤碼率的仿真。一個主文件,2個子文件。現在要求更改點東西實現4psk信號
    發表于 06-10 15:20

    如何在multisim中仿真實現FM-GFSK和PM-D8PSK調制解調的電路。

    在multisim中仿真實現FM-GFSK和PM-D8PSK調制解調的電路。
    發表于 04-06 15:08

    請問ad9361在MATLAB解調FM廣播信號需要對收到的基帶信號做哪些處理

    AD9361(AD-FMCCOMS-EBZ) 接收FM廣播信號,使用提供的IIO System Object,想在MATLAB實現解調并收聽,AD9361的范圍在70M-6GHz,
    發表于 08-14 06:53

    如何很好的實現ASK調制解調?

    怎樣很好的實現ASK調制解調
    發表于 09-20 03:54

    Multisim調制解調電路仿真

    求助,小弟做了AM基于乘法器MC1496的調幅電路和二極管包絡檢波電路;還有FM的變容二極管調頻電路和相位鑒頻器鑒頻電路,現在需求將解調的信號為之前調制出的信號,也就是調制
    發表于 04-14 23:37

    ab代碼實現例子-DPSK信號的調制解調Matlab代碼(采

    ab代碼實現的一個例子(采用正交調制解調):DPSK信號的調制解調Matlab代碼
    發表于 11-28 11:50 ?57次下載

    基于MATLAB 7.0的信號調制解調分析

    基于MATLAB 7.0的信號調制解調分析
    發表于 05-07 10:45 ?30次下載
    基于<b class='flag-5'>MATLAB</b> 7.0的信號<b class='flag-5'>調制</b>與<b class='flag-5'>解調</b>分析

    基于MATLAB的simulink仿真2Fsk調制解調

    基于MATLAB的simulink仿真2Fsk調制解調
    發表于 11-12 10:36 ?33次下載

    FM調制/解調電路的設計方案分析

    FM調制/解調電路的設計 摘要:本設計根據鎖相環原理,通過兩片CD4046搭接基本電路來實現FM調制
    發表于 10-27 17:04 ?60次下載
    <b class='flag-5'>FM</b><b class='flag-5'>調制</b>/<b class='flag-5'>解調</b>電路的設計方案分析

    基于matlab的msk調制解調實現

    本課程設計主要用于MSK信號的調制解調,同時進一步了解MSK信號的的解調調制原理以及其性能。再次基礎上進一步對信號疊加噪聲,并繪制相應波形,同時進行分析。
    發表于 04-16 09:18 ?3.3w次閱讀
    基于<b class='flag-5'>matlab</b>的msk<b class='flag-5'>調制</b><b class='flag-5'>解調</b>的<b class='flag-5'>實現</b>

    gmsk調制解調matlab如何實現_兩種gmsk調制解調方式的實現

    本文主要介紹了兩種gmsk調制解調方式的實現。GMSK調制技術是從MSK(Minimum Shift Keying)調制的基礎上發展起來的一
    發表于 04-16 16:24 ?1.5w次閱讀
    gmsk<b class='flag-5'>調制</b><b class='flag-5'>解調</b><b class='flag-5'>matlab</b>如何<b class='flag-5'>實現</b>_兩種gmsk<b class='flag-5'>調制</b><b class='flag-5'>解調</b>方式的<b class='flag-5'>實現</b>

    如何使用Matlab和Simulink進行調制解調的分析

    調制解調是信號處理應用的重要內容,該文利用 Matlab/Simulink 對幅度調制解調進行仿真和分析。首先采用
    發表于 04-22 08:00 ?13次下載
    如何使用<b class='flag-5'>Matlab</b>和Simulink進行<b class='flag-5'>調制</b><b class='flag-5'>解調</b>的分析

    如何使用軟件無線電實現QDPSK調制解調算法的硬件

    介紹了應用在軟件無線電技術中的4進制相對相移鍵控調制解調算法原理, 完成了該調制解調算法的MATLAB 建模和仿真, 設計了基于Verilo
    發表于 06-30 17:01 ?6次下載
    如何使用軟件無線電<b class='flag-5'>實現</b>QDPSK<b class='flag-5'>調制</b><b class='flag-5'>解調</b>算法的硬件

    軟件無線電中調制解調實現AM-FM講解

    軟件無線電中調制解調實現AM-FM講解說明。
    發表于 04-28 10:03 ?11次下載
    主站蜘蛛池模板: 拉孜县| 鄂托克前旗| 淳安县| 平江县| 揭西县| 西平县| 上思县| 虎林市| 长宁区| 登封市| 宿州市| 墨江| 贡山| 铁岭县| 衡山县| 敖汉旗| 泰来县| 达拉特旗| 和平县| 台江县| 泸州市| 南华县| 瑞昌市| 兴安盟| 阜南县| 中阳县| 永仁县| 离岛区| 株洲市| 绥棱县| 济南市| 精河县| 临安市| 涟水县| 富民县| 南皮县| 芜湖市| 海口市| 玉门市| 绥滨县| 隆化县|