psk调制

M = 8; % 调制阶数
fc = 10; % 载波频率(Hz)
fs = 1000; % 采样频率(Hz)
T = 1 / fs; % 采样周期(秒)
Eb = 1; % 符号能量

num_symbols = 1000; % 符号数量
symbols = randi([0 M-1], num_symbols, 1); % 生成0到M-1之间的随机整数

t = 0:T:(num_symbols/fs)-T; % 时间序列
carrier = cos(2*pi*fc*t); % 载波信号

% 星座映射
phase = (2*pi/M) * symbols; % 相位值
modulated_signal = cos(phase) .* carrier; % 调制信号
% 计算星座点的坐标
x = cos(phase);
y = sin(phase);

num_symbols = length(symbols);
distances = zeros(num_symbols, num_symbols); % 用于存储距离的矩阵

for i = 1:num_symbols
    for j = 1:num_symbols
        % 计算欧氏距离
        distances(i, j) = sqrt((x(j) - x(i))^2 + (y(j) - y(i))^2);
    end
end
disp(distances);
% 计算平均功率
avg_power = mean(abs(modulated_signal).^2);
disp(['平均功率:', num2str(avg_power)]);

figure;
% 画出星座图
scatter(x, y, 'filled');
xlabel('实部');
ylabel('虚部');
title('多进制PSK星座图');
% 画出调制信号波形
figure;
plot(t, modulated_signal);
title('PSK调制信号波形');
xlabel('时间 (秒)');
ylabel('幅度');


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值