直接来描述一下:
b = rcosdesign(beta,span,sps,shape)
beta: 滚降系数,取值0~1之间,决定频宽和陡峭程度。取值一般大于0.2。
span: 表示截断的符号范围。
sps: 单个符号范围的采样个数。
shape:可选参数。可不加,可加上’normal’,可加上’sqrt’。
当选择’sqrt’时,返回一个平方根升余弦滤波器。
下图是滚降系数不同的对比
贴一段测试代码:
-
clear all
-
h1 = rcosdesign(
0.25,
6,
4,
'sqrt');
-
fvtool(h1,
'Analysis',
'impulse');
我们可以看到阶段范围为6,每个范围采样点数为4,上图共存在24个采样点。
下面是对20个随机码元成型滤波并调制:
-
clear all
-
rolloff =
0.
25;
-
span =
4;
-
sps =
40;
-
b = rcosdesign(rolloff, span, sps);
-
d =
2 * randi([
0
1],
20,
1) -
1;
-
x = upfirdn(d, b, sps);
-
r =
x + randn(size(
x)) *
0.
01;
-
y = upfirdn(r, b,
40, sps);
-
fvtool(
y,
'Analysis',
'impulse');
-
fc =
0.
1;
-
t = [
1:
length(
y)];
-
carrier =
cos(
2 * pi * fc * t);
-
z =
20 *
y .* carrier
';
-
plot(z)
基带成型波形:
调制后波形: