第一范文网 - 专业文章范例文档资料分享平台

正交频分复用解调电路设计

来源:用户分享 时间:2025/6/4 5:54:10 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

桂林电子科技大学毕业设计(论文)报告用纸 第 19 页 共 37 页

N = 64; % FFT Precision A = 2^11 - 1; % Magnification

%%%%%%%%% Cosine Factors %%%%%%%%%

fid = fopen('fft_cos.mif','w'); % MIF header

fprintf(fid,'%s%d%s\\n','WIDTH=',WIDTH,';'); fprintf(fid,'%s%d%s\\n','DEPTH=',DEPTH,';'); fprintf(fid,'\\n');

fprintf(fid,'%s\\n','ADDRESS_RADIX=UNS;'); fprintf(fid,'%s\\n','DATA_RADIX=DEC;'); fprintf(fid,'\\n');

fprintf(fid,'%s\\n','CONTENT BEGIN'); % Cosine datas for i = 0 : DEPTH-1

a = round(A*cos(2*pi*i/N)); fprintf(fid,'%d:%d;\\n',i,a); end % MIF end

fprintf(fid,'%s','END;'); fclose(fid);

%%%%%%%%% Sine Factors %%%%%%%%%

fid = fopen('fft_sin.mif','w'); % MIF header

fprintf(fid,'%s%d%s\\n','WIDTH=',WIDTH,';'); fprintf(fid,'%s%d%s\\n','DEPTH=',DEPTH,';'); fprintf(fid,'\\n');

fprintf(fid,'%s\\n','ADDRESS_RADIX=UNS;'); fprintf(fid,'%s\\n','DATA_RADIX=DEC;'); fprintf(fid,'\\n');

fprintf(fid,'%s\\n','CONTENT BEGIN'); for i = 0 : DEPTH-1

桂林电子科技大学毕业设计(论文)报告用纸 第 20 页 共 37 页

a = round(A*sin(2*pi*i/N)); fprintf(fid,'%d:%d;\\n',i,a); end % MIF end

fprintf(fid,'%s','END;'); fclose(fid);

4.3.13两组RAM的切换

输入数据存储在RAM1中,输入完毕开始从RAM1中取数并按照取址顺序取出然后送入蝶形运算单元,运算完成后再按照存储顺序存入RAM2中。第二级从RAM2中取数并存入RAM1中,如此交替进行乒乓存储操作。根据64点FFT需要进行6级蝶形,所以FFT计算结果从RAM1中取出。

4.3.14蝶形运算单元设计

FFT的核心单元操作时蝶形运算,蝶形运算直接影响着FFT处理器的速度。由于64=2^6,64/2仍然是偶数,继续将32点DFT分成偶数组和奇数组,这样每个32点又可由两个16点DFT形成,其输入序列分别是x1(n)和x2(n),按上下对半分开形成的四个子序列。图4.7.1显示出N?8点时的FFT运算流图。这种算法是对X(k)进行奇偶抽取分解的结果,所以称之为频域抽取法FFT,共有M级运算,每级共有N/2个蝶形运算。本FFT模块采用顺序输入倒序输出的基于频域抽取的基2算法,与基于时域抽取的基基于时域抽取的基2蝶形是先乘后加(减),而本算法蝶形是先加(减)2-FFT运算不同,

后相乘。本算法的蝶形运算流图符号如下图所示:

图4-5 蝶形运算流图(8点)

根据上面的分析,基2频域抽取FFT可分解为:

Xm?1(p)R?Xm?1(p)Irr????q??q?RIWNRXmWNI? (4-9) mrr?Xm(p)I??Xm?q?R?WNI?Xm?q?I?WNR? (4-10)

Xm(p)R??X 桂林电子科技大学毕业设计(论文)报告用纸 第 21 页 共 37 页

Xm?1(q)R?Xm(p)R?Xm?1(q)I?Xm(p)I?X??Xrr????q??q?RIWNRXmWNI? (4-11) mrr????q??q?RWNIXmIWNR? (4-12) m 其中p,q表示序列,下标I,R表示虚部和实部。

4.3.15突发FFT模块设计

OFDM调制模块大部分采用16MHz系统时钟,如果按照需要的数据速率,则FFT模块

需要在5us内计算完成一次64点数据的FFT,而16MHz的FFT系统时钟无法满足要求。因此,设计FFT模块为突发形式,输入输出接口采用16MHz的数据传输速率,而内部FFT计算时钟采用100MHz,输出输出采用FIFO模块来进行两个不同时钟域数据的传输。经测试,该设计可以满足5us计算完成64点FFT的设计要求。 4.3.16加入CP循环前缀和加窗模块

循环前缀:

OFDM技术可以有效对抗多径时延扩展,为了最大程度消除ISI,需要在每个OFDM符号间插入循环前缀信号CP,即将每个OFDM符号后的Ts时间中的样值复制到OFDM符号前面行程前缀,添加循环前缀是利用离散线性系统中的一个概念,在连续的时间域,两个时域信号的卷积等于频域信号的乘积。由于循环前缀使所传输的OFDM信号表现出周期性,这种卷积就成了圆周卷积,根据离散时间线性系统的原理,这种圆周卷积相当于OFDM信号的频率响应和信道频率响应的乘积。

加窗:

添加循环前缀后,对数据还要进行加窗操作,加窗操作可以是OFDM符号在带宽之外的功率谱密度下降得更快。

对OFDM符号加窗意味着令符号周期边缘的幅度值逐渐过渡到零。通常采用的窗类型是升余弦函数,其定义如下:

(4-6)

其中β为滚降因子;T是加窗符号的长度,而加窗后的符号长度应为(1+β)T 带宽之外的功率下降速度取决于滚降因子β的取值

4.3.17速度计算

首先在想知道系统时钟的频率前,我们需要计算出每个符号的持续时间ts。 我们知道传输的子载波数为31,对于4QAM,每个载波代表2bit。 数据速率为31*2*1/ts

桂林电子科技大学毕业设计(论文)报告用纸 第 22 页 共 37 页

要求的传输速率为12.4Mbps 传输速率12.4Mbps=31*2*1/ts

这样可以求出ts=(31*2)/12.4Mbps=5us

1个符号持续时间ts = 保护间隔 tgi + 符号数据时间 td

保护间隔一般取符号数据时间td的1/4,则( td + (1/4)*td )=5us

? td = 4us

图4-6速度计算图

5us 80个数据,则一个数据占时间5us/80=0.0625us,系统时钟设置为

1/0.0625us=16MHz

5 综合调试结果

使用串口调试助手进行调试,以及功能测试。

由上面介绍的设计思路可以知道,需要发满8个字,FIFO才传出数据一次。由下图可知道,在发送数据栏内填入想要发送的数据,这里是FC为例,连续输入8个字的数据,即FC FC FC FC FC FC FC FC ,然后点击发送,在大空白处显示接收到的数据,得到FC FC FC FC FC FC FC FC,与输入结果相同。

图5-1 串口助手测试1图

搜索更多关于: 正交频分复用解调电路设计 的文档
正交频分复用解调电路设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c660xz66ldy3sk4u09qt56trx0171wu00eud_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top