介绍IQ调制解调的原理,阐述其在BPSK,QPSK,QAM等中的应用

在完成项目:用IQ调制实现4FSK 后,虽然我了解了IQ调制的原理,也明白4FSK调制的原理(键控),但是其结合应用的原理一直没搞懂。

今天抽空学习的时候看了两篇文章:
无线通信中的IQ调制,BPSK调制,QPSK调制,16QAM调制的理解

【通信原理 入坑之路】—— 详解IQ调制以及星座图原理

这两篇文章讲的相当好,条理清晰。为便于自己以后回顾,也记录下自己一些不一样的见解,为此留下此博文。

一、IQ调制解调

什么是IQ调制呢?
我们想象,当我们想同时传输两个符号:a和b时,该怎么办呢?

当然我们可以在两个载频不同的信道中同时传输。
或者可以构建一个复信号:a+bj丢进信道
在这里插入图片描述
这就是将a,b两个符号划分到同一个信道,利用一对正交载波,同时调制传输,这样就可以节约一倍的频谱资源啦。
这里说的正交载波,指的就是 cos ⁡ ω 0 t \cos{\omega_0}t cosω0t sin ⁡ ω 0 t \sin{\omega_0}t sinω0t。他们二者频率相同,相位相差 π 2 \frac{\pi }{2} 2π,恰好正交。
我们把符号a,b分别丢进I、Q两路输入,分别可得到
I路: I ∗ cos ⁡ ω 0 t = a cos ⁡ ω 0 t I*\cos{\omega_0}t=a\cos{\omega_0}t Icosω0t=acosω0t
Q路: − Q ∗ cos ⁡ ω 0 t = − b sin ⁡ ω 0 t -Q*\cos{\omega_0}t=-b\sin{\omega_0}t Qcosω0t=bsinω0t
由此可得输出为: s ( t ) = a cos ⁡ ω 0 t − b sin ⁡ ω 0 t s(t)=a\cos{\omega_0}t-b\sin{\omega_0}t s(t)=acosω0tbsinω0t
s ( t ) s(t) s(t)丢进信道,则可以用频率为 ω 0 \omega_0 ω0的载波同时间传输两个符号了,这就是正交调制,也叫IQ调制。

接收方该如何解调信号 s ( t ) s(t) s(t)得到原有信号a,b呢?

利用载波的正交性,我们可以进行如下操作:
先将信号 s ( t ) s(t) s(t)乘以载波 cos ⁡ ω 0 t \cos{\omega_0}t cosω0t,然后积分,接着做一个尺度变换。

即 2 T ∫ − T / 2 T / 2 s ( t ) cos ⁡ ω 0 t d t = 2 T ∫ − T / 2 T / 2 ( a cos ⁡ ω 0 t − b s i n ω 0 t ) cos ⁡ ω 0 t d t = 2 T ∫ − T / 2 T / 2 ( a cos ⁡ 2 ω 0 t − b s i n ω 0 t cos ⁡ ω 0 t ) d t = 2 T ∫ − T / 2 T / 2 [ a 2 ( 1 + cos ⁡ 2 ω 0 t ) − b 2 s i n 2 ω 0 t ] d t = 2 T . a 2 . T = a \begin{array}{l} 即\frac{2}{T}\int_{ - T/2}^{T/2} {s(t)\cos {\omega _0}tdt} \\ \\ = \frac{2}{T}\int_{ - T/2}^{T/2} {(a\cos {\omega _0}t - bsin{\omega _0}t)\cos {\omega _0}tdt} \\ \\ = \frac{2}{T}\int_{ - T/2}^{T/2} {(a{{\cos }^2}{\omega _0}t - bsin{\omega _0}t\cos {\omega _0}t)dt} \\ \\ = \frac{2}{T}\int_{ - T/2}^{T/2} {\left[ {\frac{a}{2}(1 + \cos 2{\omega _0}t) - \frac{b}{2}sin2{\omega _0}t} \right]} dt\\ \\ = \frac{2}{T}.\frac{a}{2}.T = a \end{array} T2T/2T/2s(t)cosω0tdt=T2T/2T/2(acosω0tbsinω0t)cosω0tdt=T2T/2T/2(acos2ω0tbsinω0tcosω0t)dt=T2T/2T/2[2a(1+cos2ω0t)2bsin2ω0t]dt=T2.2a.T=a
由此可以得到原信号a,同时把信号 s ( t ) s(t) s(t)乘以载波 sin ⁡ ω 0 t \sin{\omega_0}t sinω0t,然后积分,接着做一个尺度变换。可以得到原信号b。

推导过程同上,不再赘述。其中 T T T T 0 = 2 π ω T_0=\frac{2\pi }{\omega} T0=ω2π的整数倍。倒数第二步推导利用了求解定积分时的函数奇偶性
以上就是IQ调制解调的原理了。那么它又如何运用到BPSK的调制中呢?

二、BPSK调制解调

BPSK(Binary Phase Shift Keying) —— 二进制相移键控。
这个调制很简单,就是发0的时候,给它调制成 cos ⁡ ω 0 t \cos{\omega_0}t cosω0t发出去。就是发1的时候,给它调制成 cos ⁡ ( ω 0 t + π ) \cos({\omega_0}t+\pi) cos(ω0t+π)发出去。

bpsk也叫2psk,就是两个相位的调制。至于为什么选0和 π \pi π两个相位呢,因为这两个相位相隔最远,最不容易误码。信息论的知识哈。

基带信号发送信号信号相位
0 cos ⁡ ω 0 t \cos{\omega_0}t cosω0t0
1 cos ⁡ ( ω 0 t + π ) = − c o s ω 0 t \cos({\omega_0}t+\pi)=-cos{\omega_0t} cos(ω0t+π)=cosω0t π \pi π

解调的时候再根据信号的相位,对应反映射就可以了。
看到这里,看到发送信号 cos ⁡ ω 0 t \cos{\omega_0}t cosω0t − c o s ω 0 t -cos{\omega_0t} cosω0t,你有没有联想到上面的IQ调制解调呢。 s ( t ) = a cos ⁡ ω 0 t − b sin ⁡ ω 0 t s(t)=a\cos{\omega_0}t-b\sin{\omega_0}t s(t)=acosω0tbsinω0t

梦幻联动

让我们把IQ调制嵌入BPSK的调制中去。

基带信号IQ信号发送信号信号相位
0a=1,b=0 cos ⁡ ω 0 t \cos{\omega_0}t cosω0t0
1a=-1,b=0 cos ⁡ ( ω 0 t + π ) = − c o s ω 0 t \cos({\omega_0}t+\pi)=-cos{\omega_0t} cos(ω0t+π)=cosω0t π \pi π

因为BPSK只发射 cos ⁡ ω 0 t \cos{\omega_0}t cosω0t − c o s ω 0 t -cos{\omega_0t} cosω0t信号,所以我们不需要Q路信号,只需要在I路不断发送1和-1即可。这样的话,我们就成功用IQ调制实现了键控法的BPSK调制。(因为键控法在仿真时不怎么常用。)

解调的话,就不多说了,IQ解调。然后再吧IQ输入反映射成基带信号就行。

三、QPSK调制解调

QPSK也叫4psk,就是四个相位的调制。为了误码率最小,此时选的就是 π 4 \frac{\pi }{4} 4π 3 π 4 \frac{3\pi }{4} 43π 5 π 4 \frac{5\pi }{4} 45π 7 π 4 \frac{7\pi }{4} 47π四个相位。

QPSK调制也很不难,见下表吧。

基带信号发送信号信号相位
0 0 cos ⁡ ( ω 0 t + π 4 ) \cos({\omega_0t+\frac{\pi }{4})} cos(ω0t+4π) π 4 \frac{\pi }{4} 4π
0 1 cos ⁡ ( ω 0 t + 3 π 4 ) \cos({\omega_0t+\frac{3\pi }{4})} cos(ω0t+43π) 3 π 4 \frac{3\pi }{4} 43π
1 1 cos ⁡ ( ω 0 t + 5 π 4 ) \cos({\omega_0t+\frac{5\pi }{4})} cos(ω0t+45π) 5 π 4 \frac{5\pi }{4} 45π
1 0 cos ⁡ ( ω 0 t + 7 π 4 ) \cos({\omega_0t+\frac{7\pi }{4})} cos(ω0t+47π) 7 π 4 \frac{7\pi }{4} 47π

和BPSK不同,此时的相位不是单纯的0和 π \pi π了,因此需要I、Q两路一起,才能获得所需要的发送信号。
s ( t ) = a cos ⁡ ω 0 t − b sin ⁡ ω 0 t s(t)=a\cos{\omega_0}t-b\sin{\omega_0}t s(t)=acosω0tbsinω0t
根据三角函数的知识,我们可以知道,如何拼凑 cos ⁡ ω 0 t \cos{\omega_0}t cosω0t sin ⁡ ω 0 t \sin{\omega_0}t sinω0t才能得到我们需要的四种发送信号。

基带信号IQ信号发送信号信号相位
0 0a= 1 2 \frac{1 }{\sqrt{2}} 2 1,b= 1 2 \frac{1 }{\sqrt{2}} 2 1 cos ⁡ ( ω 0 t + π 4 ) \cos({\omega_0t+\frac{\pi }{4})} cos(ω0t+4π) π 4 \frac{\pi }{4} 4π
0 1a=- 1 2 \frac{1 }{\sqrt{2}} 2 1,b= 1 2 \frac{1 }{\sqrt{2}} 2 1 cos ⁡ ( ω 0 t + 3 π 4 ) \cos({\omega_0t+\frac{3\pi }{4})} cos(ω0t+43π) 3 π 4 \frac{3\pi }{4} 43π
1 1a=- 1 2 \frac{1 }{\sqrt{2}} 2 1,b=- 1 2 \frac{1 }{\sqrt{2}} 2 1 cos ⁡ ( ω 0 t + 5 π 4 ) \cos({\omega_0t+\frac{5\pi }{4})} cos(ω0t+45π) 5 π 4 \frac{5\pi }{4} 45π
1 0a= 1 2 \frac{1 }{\sqrt{2}} 2 1,b=- 1 2 \frac{1 }{\sqrt{2}} 2 1 cos ⁡ ( ω 0 t + 7 π 4 ) \cos({\omega_0t+\frac{7\pi }{4})} cos(ω0t+47π) 7 π 4 \frac{7\pi }{4} 47π

由此,我们将IQ调制和QPSK联合应用了起来。

四、8PSK调制解调

8SPK

基带信号IQ信号发送信号信号相位
0 0 0a= cos ⁡ π 8 \cos\frac{\pi }{8} cos8π,b= sin ⁡ π 8 \sin\frac{\pi }{8} sin8π cos ⁡ ( ω 0 t + π 8 ) \cos({\omega_0t+\frac{\pi }{8})} cos(ω0t+8π) π 8 \frac{\pi }{8} 8π
0 0 1a= sin ⁡ π 8 \sin\frac{\pi }{8} sin8π,b= cos ⁡ π 8 \cos\frac{\pi }{8} cos8π cos ⁡ ( ω 0 t + 3 π 8 ) \cos({\omega_0t+\frac{3\pi }{8})} cos(ω0t+83π) 3 π 8 \frac{3\pi }{8} 83π
0 1 1a=- sin ⁡ π 8 \sin\frac{\pi }{8} sin8π,b= cos ⁡ π 8 \cos\frac{\pi }{8} cos8π cos ⁡ ( ω 0 t + 5 π 8 ) \cos({\omega_0t+\frac{5\pi }{8})} cos(ω0t+85π) 5 π 8 \frac{5\pi }{8} 85π
0 1 0a=- cos ⁡ π 8 \cos\frac{\pi }{8} cos8π,b= sin ⁡ π 8 \sin\frac{\pi }{8} sin8π cos ⁡ ( ω 0 t + 7 π 8 ) \cos({\omega_0t+\frac{7\pi }{8})} cos(ω0t+87π) 7 π 8 \frac{7\pi }{8} 87π
1 1 0a=- cos ⁡ π 8 \cos\frac{\pi }{8} cos8π,b=- sin ⁡ π 8 \sin\frac{\pi }{8} sin8π cos ⁡ ( ω 0 t + 9 π 8 ) \cos({\omega_0t+\frac{9\pi }{8})} cos(ω0t+89π) 9 π 8 \frac{9\pi }{8} 89π
1 1 1a=- sin ⁡ π 8 \sin\frac{\pi }{8} sin8π,b=- cos ⁡ π 8 \cos\frac{\pi }{8} cos8π cos ⁡ ( ω 0 t + 11 π 8 ) \cos({\omega_0t+\frac{11\pi }{8})} cos(ω0t+811π) 11 π 8 \frac{11\pi }{8} 811π
1 0 1a= sin ⁡ π 8 \sin\frac{\pi }{8} sin8π,b=- cos ⁡ π 8 \cos\frac{\pi }{8} cos8π cos ⁡ ( ω 0 t + 13 π 8 ) \cos({\omega_0t+\frac{13\pi }{8})} cos(ω0t+813π) 13 π 8 \frac{13\pi }{8} 813π
1 0 0a= cos ⁡ π 8 \cos\frac{\pi }{8} cos8π,b=- sin ⁡ π 8 \sin\frac{\pi }{8} sin8π cos ⁡ ( ω 0 t + 15 π 8 ) \cos({\omega_0t+\frac{15\pi }{8})} cos(ω0t+815π) 15 π 8 \frac{15\pi }{8} 815π

由此可以延伸到更高维度的相位调制。

五、QAM调制解调

相信聪明的小伙伴们已经发现了。到目前为止,IQ调制中输入的符号幅度都是一致的,只是相位会有所不同罢了。

如果我们引入幅度变化,幅度键控了。
如果同时存在相位、幅度变化,那不就是相位幅度联合键控了吗,可以同时传输更多的比特信息,当然误码率也会增加。

此处不再过多阐述,懂的自然懂,没懂的再看两遍或者底下留言,给我发私信都行。

  • 39
    点赞
  • 230
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
QPSK(Quadrature Phase Shift Keying)是一种数字信号调制方式,常用于数字通信。相对于BPSK(Binary Phase Shift Keying),QPSK在相同的带宽和信噪比条件下,可以传输两倍的信息速率。 QPSK原理是将数字信息分为两个比特一组,每组比特分别控制正弦波和余弦波的相位。通过将正弦波和余弦波的相位进行调制,即可实现数字信息的传输。 具体实现过程如下: 1. 将数字信息分为两个比特一组,例如“00”、“01”、“10”、“11”。 2. 将每组比特映射为相应的正弦波和余弦波相位。 3. 将正弦波和余弦波进行叠加,得到一个QPSK信号。 4. 对QPSK信号进行传输,例如通过无线信道或者有线信道。 5. 接收端接收到QPSK信号后,进行解调,得到正弦波和余弦波的相位。 6. 根据相位信息,将正弦波和余弦波分别解调得到数字信息。 在MATLAB,可以使用comm.QPSKModulator和comm.QPSKDemodulator函数实现QPSK调制和解调。例如,下面的代码实现了一个QPSK信号的调制和解调: ```matlab % 生成随机的数字信息 data = randi([0, 1], 1000, 1); % 将数字信息分为两个比特一组 data_qpsk = reshape(data, 2, length(data)/2)'; % 将比特映射为相应的相位 symbols = bi2de(data_qpsk, 'left-msb'); qpsk_signal = exp(1j*pi/4*(2*symbols+1)); % 添加高斯白噪声 snr = 10; noisy_signal = awgn(qpsk_signal, snr, 'measured'); % 解调信号 received_symbols = round((angle(noisy_signal)/(pi/2))+2); received_data_qpsk = de2bi(received_symbols, 'left-msb'); received_data = reshape(received_data_qpsk', [], 1); % 计算误比特率 ber = sum(xor(data, received_data))/length(data); ``` 其,awgn函数用于添加高斯白噪声,angle函数用于计算相位,de2bi和bi2de函数用于将比特和相位相互转换,xor函数用于计算误比特率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值