基于BPSK的图像传输MATLAB代码运行报错求助及结果获取
BPSK图像传输MATLAB代码内存溢出修复与仿真结果
报错信息
Requested 65536x65536 (32.0GB) array exceeds maximum array size preference (5.0GB). This might cause MATLAB to become unresponsive.
错误根源
- 时间向量逻辑错误:原代码中
t = (65535:length(s)-1)/fs;的写法完全错误,length(s)为65536,length(s)-1等于65535,导致t仅生成一个单元素向量。执行s .* cos(...)时,MATLAB触发隐式广播,将65536元素的s和单元素的余弦值扩展为65536×65536的巨型矩阵,直接超出内存上限。 - 语法错误:三角函数表达式
2pifc*t缺少乘号,正确写法应为2*pi*fc*t。 - 信道类型不匹配:原代码生成的瑞利信道
h是复数,但BPSK调制信号xf是实数,相乘后信号变为复数,后续滤波和解调逻辑会出现异常。
修正后的代码
% 读取并预处理图像 I = imread('lena.jpg'); I = rgb2gray(I); I = imresize(I, [256 256]); p = double(I(:)); % BPSK调制 b = p > 128; s = 2*b - 1; % 系统参数设置 fc = 10000; % 载波频率10kHz fs = 100000; % 采样频率100kHz symbol_rate = 10000; % 符号速率10kHz Ns = fs / symbol_rate; % 每个符号的采样点数:10 % 生成时间向量(每个符号对应Ns个采样点) t = (0:length(s)*Ns - 1)/fs; % 扩展符号序列,每个符号重复Ns次 s_extended = repmat(s, 1, Ns); s_extended = s_extended(:); % 生成BPSK调制信号 x = s_extended .* cos(2*pi*fc*t); % 发射端带通滤波 [b1, a1] = butter(4, 12000/(fs/2)); xf = filter(b1, a1, x); % 信道模型(调整为实值瑞利衰落) sigma = 0.1; n = sigma * randn(size(xf)); Omega = 1; h_amp = sqrt(Omega/2) * sqrt(randn(size(xf)).^2 + randn(size(xf)).^2); % 瑞利幅度 y = h_amp .* xf + n; % 接收端带通滤波 [b2, a2] = butter(4, 12000/(fs/2)); yf = filter(b2, a2, y); % 相干解调 yr = yf .* cos(2*pi*fc*t); [b3, a3] = butter(4, 1000/(fs/2), 'low'); yrf = filter(b3, a3, yr); % 采样判决(每个符号取最后一个采样点) yrf_sampled = yrf(Ns:Ns:end); bhat = yrf_sampled > 0; % 恢复图像 phat = 255 * bhat; phat = reshape(phat, [256 256]); Ihat = uint8(phat); % 绘制仿真结果 figure(1) subplot(2,2,1) imshow(I) title('输入图像') subplot(2,2,2) plot(t(1:1000), abs(x(1:1000))) % 绘制前1000个采样点避免图形拥挤 xlabel('时间 (s)') ylabel('幅度 (V)') title('发射信号') subplot(2,2,3) plot(t(1:1000), abs(y(1:1000))) xlabel('时间 (s)') ylabel('幅度 (V)') title('接收信号') subplot(2,2,4) imshow(Ihat) title('恢复图像')
仿真结果说明
- 输入图像:显示256×256的灰度Lena原图。
- 发射信号:呈现BPSK调制后的载波幅度变化,波形为键控后的余弦信号,幅度在±1之间切换。
- 接收信号:叠加瑞利衰落和高斯噪声后,信号幅度出现随机波动,但整体调制特征仍可辨认。
- 恢复图像:由于噪声和衰落强度较低(sigma=0.1),恢复图像与原图几乎无差异,仅存在极细微的噪声点。
内容的提问来源于stack exchange,提问作者Rfat Bin del Ahmed Al-sorori
相关产品推荐
相关产品推荐

