OFDM理解

在OFDM系统中,对64QAM调制后的信号进行64点IFFT变换,这个"64点"的选择是一个在频谱效率、抗干扰能力和实现复杂度之间取得精妙平衡的结果

它主要基于以下几个核心考量:

1.📡 子载波数量与频谱规划

OFDM的核心思想是将高速数据流拆分成多条低速的子流,让它们在多个正交的子载波上并行传输。在IEEE 802.11a/g/n等标准中,虽然总共有64个子载波位置,但实际用于承载数据的并没有64个。

  • •• 有效数据子载波 :通常为 52个。其余的子载波被分配为:

    • •• 导频子载波:用于信道估计和跟踪相位噪声(例如4个)。

    • ••直流子载波和保护子载波 :位于频谱中心(直流)和边缘的子载波被留空,用于防止直流偏移干扰和减少带外频谱泄漏

因此,64点的IFFT完美匹配了这64个频率位置(包括使用的和保留的)。

2.⏱️ 符号持续时间与抗干扰能力

IFFT的点数 N直接决定了每个OFDM符号的持续时间 T_symbol,公式为 T_symbol = N / f_s,其中 f_s是采样频率。

  • ••对抗多径效应 :无线信号在传播中会因反射产生多个副本,在不同时间到达接收机,造成符号间干扰。OFDM通过插入循环前缀 来克服这一问题。循环前缀是每个OFDM符号尾部的复制品,添加到符号开头。64点的符号长度,使得添加循环前缀后,总时长仍在可接受范围内,既能有效对抗常见的多径时延扩展,又不会过分降低数据传输效率

  • ••子载波间隔 :子载波间隔 Δf = f_s / N。当 N=64且采样率 f_s=20MHz(如802.11a)时,子载波间隔为312.5kHz。这个间隔保证了在通常的无线信道条件下,子载波之间能保持良好的正交性,避免载波间干扰

3.OFDMfpga 实现需要进行截位

在进行IFFT的时候,输入是64位的数据 ,出来是80位 的时域数据

根据DAC等器件知道是12位的器件,然后从IFFT中出来的时域数据需要进行截位 ,根据IP核知道80位的数据 79-40是虚部,39-0是实部,虚部的时候需要截取16位。选取 77-62的16位选取数据。然后根据高位进行选择溢出。

意思就是 [77:62] 这个16位 的最高位77位如果是正数77位为1就说明有溢出,符号位为0,需要钳位77-62,如果77位为0,同时最高位的符号位也为0,说明是正数没有溢出可以截取,对于负数来说,最高位为1 同时如果77位为0说明正数取反+1有进位,溢出了钳位到最小值,否则最高位为1 同时如果77位为1说明正数取反+1没进位可以截取77-62

复制代码
always @(*) begin
		if(ifft_output_data[79:77] == 3'b111 || ifft_output_data[79:77] == 3'b000) begin
			ifft_im_out <= ifft_output_data[77:62];
		end
		else if(ifft_output_data[79] == 1'b1) begin
			ifft_im_out <= 16'h8000;//-32768
		end
		else if(ifft_output_data[79] == 1'b0) begin
			ifft_im_out <= 16'h7fff;//32767
		end
		else begin
			ifft_im_out <=16'd0;
		end
	end

	always @(*) begin
		if(ifft_output_data[39:37] == 3'b111 || ifft_output_data[39:37] == 3'b000) begin
			ifft_re_out <= ifft_output_data[37:22];
		end
		else if(ifft_output_data[39] == 1'b1) begin
			ifft_re_out <= 16'h8000;//-32768
		end
		else if(ifft_output_data[39] == 1'b0) begin
			ifft_re_out <= 16'h7fff;//32767
		end
		else begin
			ifft_re_out <=16'd0;
		end
	end

	assign ifft_out = {ifft_im_out,ifft_re_out};


	always @(posedge clk_Modulation) begin
		if(reset == 1'b1) begin
			tx_add_cyclic_prefix_valid <= 1'b0;
		end
		else if(tx_add_cyclic_prefix_j == 'd159) begin
			tx_add_cyclic_prefix_valid <= 1'b0;
		end
		else if(ifft_out_cnt == 'd95 && ifft_output_valid == 1'b1) begin
			tx_add_cyclic_prefix_valid <= 1'b1;
		end
	end

4,为什么实数信号是满足奈奎斯特大于等于2倍,但是复数信号不用

**实信号的频谱是"对称的",有冗余;而复信号的频谱是"单边的",没有冗余。**​ 这个"冗余"直接决定了采样率的要求。

为了让您一目了然,我们先通过一个表格来对比它们的核心区别。

特性 实信号 复信号
时域值 实数(如:1, 0.5, -1) 复数(如:1+0.5j, 0-1j)
频谱结构 共轭对称(双边谱),关于Y轴对称 非对称(单边谱),可以是任意形状
信息冗余 。正负频率部分互为镜像,包含相同信息。 。正负频率部分可承载不同信息。
奈奎斯特采样率 Fs ≥ 2B(B为信号正频率带宽) Fs ≥ B(B为信号总带宽)
物理意义 真实世界直接存在的信号(如电压、声音) 数学工具,通常由两路实信号(I路和Q路)构成

🔍 实信号:为什么需要两倍带宽?

您可以把实信号的频谱想象成一张对称的剪纸。

  1. 1.1.对称性(共轭对称) :一个实信号(比如一个音频信号)的频谱,总是关于零频率对称的。这意味着如果你在频率 +f 处有一个信号成分,那么在 -f 处必定存在一个它的"镜像"。这个镜像是冗余的,并不携带任何新的信息
  2. 2.2. 奈奎斯特准则的适用对象 :奈奎斯特采样定理说的是,采样频率必须大于信号整个频谱宽度 的两倍,才能保证不丢失信息。对于实信号,它的频谱宽度是从 -B ​ 到 +B ,总宽度是 2B 。因此,采样率必须满足 Fs > 2B * 2? ​ 不,这里需要仔细理解:定理中的"两倍"指的是对信号包含的最高频率成分 而言的。实信号包含的最高频率成分是+B,所以采样率需要 Fs > 2 * (B)。同时,由于频谱本身的总宽度是2B,这一定律也确保了正负频率部分在采样后不会相互混叠。

所以,对于带宽为B的实信号,需要Fs ≥ 2B的采样率,既是为了捕获最高频率B的成分,也是为了避免其对称的负频率部分在采样后产生混叠。


💡 复信号:为什么只需要一倍带宽?

复信号通过数学构造的方式,去除了频谱的对称性,从而"消灭"了冗余。

  1. 1.1.解析信号 :一种非常重要的复信号叫做解析信号 。它可以通过一种叫做希尔伯特变换 的数学工具,将一个实信号转换而成。解析信号的关键特性就是:它的负频率部分为零,整个频谱只存在于正频率部分这样,频谱的冗余就被消除了。

  2. 2.2. I/Q信号 :在实际系统中(如软件无线电、通信收发机),复信号表现为**I路(In-phase,同相)和Q路(Quadrature,正交)**​ 两路实信号。您可以理解为:

    • •• 复信号 Z(t) = I(t) + jQ(t)

    • •• 其中,I(t)和Q(t)是两路实信号,它们通常由同一源信号经过相位相差90度的本振调制后得到。

  3. 采样率减半 :由于复信号的频谱是单边的,它的全部信息都集中在从0到B的频率范围内。因此,它的整个频谱宽度就是B 。根据奈奎斯特准则,采样率只需要大于这个宽度即可,即 Fs ≥ B这正是正交采样(I/Q采样)的基础:用两路ADC分别以较低的速率对I和Q两路信号进行采样,等效于以速率Fs对复信号Z(t)进行采样。

5.关于采样的问题

802.11a中规定得是20mh的带宽,需要64点的采样点。但是到时候给adc的时候需要把iq的数据每个需要20mhz,这样的话采样的频率就是40mhz 为了保持频率间隔,要把采样点也提高128。

相关推荐
蓁蓁啊2 小时前
Ubuntu 虚拟机文件传输到 Windows的一种好玩的办法
linux·运维·windows·单片机·ubuntu
忧郁的橙子.2 小时前
一、Rabbit MQ 初级
服务器·网络·数据库
EVERSPIN2 小时前
32位MCU芯片国产品牌(32系列单片机常用型号有哪些)
单片机·嵌入式硬件·mcu单片机·32系列单片机
杰杰7982 小时前
SQL 实战:用户访问 → 下单 → 支付全流程转化率分析
数据库·sql
爬山算法2 小时前
Redis(120)Redis的常见错误如何处理?
数据库·redis·缓存
野生技术架构师3 小时前
盘一盘Redis的底层数据结构
数据结构·数据库·redis
DuHz3 小时前
基于信号分解的FMCW雷达相互干扰抑制——论文阅读
论文阅读·算法·汽车·信息与通信·毫米波雷达
爱吃汽的小橘3 小时前
使用DSI TX IP驱动LCD显示屏
单片机·嵌入式硬件
EelBarb3 小时前
sqlite数据库迁移至mysql
数据库·mysql·sqlite