作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
SciPy/Numpy 似乎支持许多过滤器,但不支持根升余弦过滤器。有没有一种技巧可以轻松创建一个而不是计算传递函数?近似值也可以。
最佳答案
commpy
包中包含几个过滤器。返回变量的顺序在较早版本中切换(截至本次编辑,当前版本为 0.7.0)。安装,强调文字说明here或 here .
以下是 QAM16 的 1024 个符号的使用示例:
import numpy as np
from commpy.modulation import QAMModem
from commpy.filters import rrcosfilter
N = 1024 # Number of symbols
os = 8 #over sampling factor
# Create modulation. QAM16 makes 4 bits/symbol
mod1 = QAMModem(16)
# Generate the bit stream for N symbols
sB = np.random.randint(0, 2, N*mod1.num_bits_symbol)
# Generate N complex-integer valued symbols
sQ = mod1.modulate(sB)
sQ_upsampled = np.zeros(os*(len(sQ)-1)+1,dtype = np.complex64)
sQ_upsampled[::os] = sQ
# Create a filter with limited bandwidth. Parameters:
# N: Filter length in samples
# 0.8: Roll off factor alpha
# 1: Symbol period in time-units
# 24: Sample rate in 1/time-units
sPSF = rrcosfilter(N, alpha=0.8, Ts=1, Fs=over_sample)[1]
# Analog signal has N/2 leading and trailing near-zero samples
qW = np.convolve(sPSF, sQ_upsampled)
下面是对参数的一些解释。
N
是波特采样的数量。您需要的位数是样本的 4 倍(在 QAM 的情况下)。我做了
sPSF
数组返回
N
元素,以便我们可以看到带有前导和尾随样本的信号。见
Wikipedia Root-raised-cosine filter page参数说明
alpha
.
Ts
是以秒为单位的符号周期,
Fs
是每
Ts
个过滤器样本的数量.我喜欢假装
Ts=1
为简单起见(单位符号率)。然后
Fs
是每个波特点的复数波形样本数。
rrcosfilter
的返回元素 0要获得采样时间索引,您需要在
Ts
中插入正确的符号周期和过滤采样率。和
Fs
以正确缩放索引值。
关于python - 使用 Python 和 Numpy 实现根升余弦 (RRC) 滤波器的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614966/
我正在开展一个个人项目,以提高我对 CPU 工作原理的了解。所以我正在做一个 Intel 8080 仿真器,它是一个 8 位微处理器。 在执行一条RRC指令时,example这是: case 0x0f
SciPy/Numpy 似乎支持许多过滤器,但不支持根升余弦过滤器。有没有一种技巧可以轻松创建一个而不是计算传递函数?近似值也可以。 最佳答案 commpy包中包含几个过滤器。返回变量的顺序在较早版本
我需要知道是否可以在我的 iPhone 应用程序中获取有关 RRC 状态的信息。我找到了这个线程:http://www.howardforums.com/printthread.php?t=14367
我是一名优秀的程序员,十分优秀!