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位
展开
 我来答
yanglei5658
2015-07-07 · TA获得超过4756个赞
知道大有可为答主
回答量:835
采纳率:100%
帮助的人:524万
展开全部

整个程序来看,没有什么问题,可能出现问题的地方,在读取声音文件时

[x,FS,NBITS]=wavread('5786.wav');% 将WAV文件转换成变量

如果直接使用文件名,就必须保证声音文件和m文件在同一文件夹中。如果不是这样的话,就把整体目录都写出来,如

[x,FS,NBITS]=wavread('D:\MATLAB\project\Digital Speech Processing\1.wav');


使用完整目录的运行结果为:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式