Error: File: C:\MATLAB7\work\Untitled2.m Line: 2 Column: 1 Missing variable 求大神帮忙改程序
clear;closeall;clc;[x,FS,NBITS]=wavread('5786.wav');%将WAV文件转换成变量N=length(x);%计算数据点数%不...
clear;
close all;
clc;
[x,FS,NBITS]=wavread('5786.wav');% 将WAV文件转换成变量
N=length(x);% 计算数据点数
% 不是偶数点化成偶数点
if mod(N,2)==0; N=N; else x(N)=[]; N=N-1; end;
% 原信号波形频谱分析
tx=(0:N-1)/FS;% 计算原信号数据点时刻
subplot(3,2,1);plot(tx,x);% 绘制原信号波形
title('原信号波形图');% 加标题
xf=fft(x);% 求原信号频谱
fx=(0:N/2)*FS/N;% 确定频谱图频率刻度
subplot(3,2,2);plot(fx,abs(xf(1:N/2+1)));% 绘制原信号频谱
title('原信号频谱图');% 加标题
% 实现数据抽取
k=[1:N/2];% 确定抽取位置
y=x(2*k);% 实现抽取后的数据
M=length(y);% 计算抽取后数据点数
% 抽取数据在原采样频率FS下的波形频谱分析
ty=(0:M-1)/FS;% 计算数据点时刻
subplot(3,2,3);plot(ty,y);% 绘制信号波形图
title('原采样率下新波形图');% 加标题
yf=fft(y);% 求频谱
fy=(0:M/2)*FS/M;% 确定频谱图频率刻度
subplot(3,2,4);plot(fy,abs(yf(1:M/2+1)));% 绘制频谱图
title('原采样率下新频谱图');% 加标题
% 抽取数据在FS/2采样频率下的波形频谱分析
tz=(0:M-1)/(FS/2);% 计算数据点时刻
subplot(3,2,5);plot(tz,y);% 绘制信号波形图
title('新采样率下新波形图');% 加标题
fz=(0:M/2)*(FS/2)/M;% 确定频谱图频率刻度
subplot(3,2,6);plot(fz,abs(yf(1:M/2+1)));% 绘制频谱图
title('新采样率下新频谱图');% 加标题
% 实现数据转换
wavwrite(y,FS/2,NBITS,'XPquit16B.WAV');% 音频格式PCM 11025Hz 16位
wavwrite(y,FS/2,NBITS/2,'XPquit8B.WAV');% 音频格式PCM 11025Hz 8位 展开
close all;
clc;
[x,FS,NBITS]=wavread('5786.wav');% 将WAV文件转换成变量
N=length(x);% 计算数据点数
% 不是偶数点化成偶数点
if mod(N,2)==0; N=N; else x(N)=[]; N=N-1; end;
% 原信号波形频谱分析
tx=(0:N-1)/FS;% 计算原信号数据点时刻
subplot(3,2,1);plot(tx,x);% 绘制原信号波形
title('原信号波形图');% 加标题
xf=fft(x);% 求原信号频谱
fx=(0:N/2)*FS/N;% 确定频谱图频率刻度
subplot(3,2,2);plot(fx,abs(xf(1:N/2+1)));% 绘制原信号频谱
title('原信号频谱图');% 加标题
% 实现数据抽取
k=[1:N/2];% 确定抽取位置
y=x(2*k);% 实现抽取后的数据
M=length(y);% 计算抽取后数据点数
% 抽取数据在原采样频率FS下的波形频谱分析
ty=(0:M-1)/FS;% 计算数据点时刻
subplot(3,2,3);plot(ty,y);% 绘制信号波形图
title('原采样率下新波形图');% 加标题
yf=fft(y);% 求频谱
fy=(0:M/2)*FS/M;% 确定频谱图频率刻度
subplot(3,2,4);plot(fy,abs(yf(1:M/2+1)));% 绘制频谱图
title('原采样率下新频谱图');% 加标题
% 抽取数据在FS/2采样频率下的波形频谱分析
tz=(0:M-1)/(FS/2);% 计算数据点时刻
subplot(3,2,5);plot(tz,y);% 绘制信号波形图
title('新采样率下新波形图');% 加标题
fz=(0:M/2)*(FS/2)/M;% 确定频谱图频率刻度
subplot(3,2,6);plot(fz,abs(yf(1:M/2+1)));% 绘制频谱图
title('新采样率下新频谱图');% 加标题
% 实现数据转换
wavwrite(y,FS/2,NBITS,'XPquit16B.WAV');% 音频格式PCM 11025Hz 16位
wavwrite(y,FS/2,NBITS/2,'XPquit8B.WAV');% 音频格式PCM 11025Hz 8位 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询