matlab - 如何解决此错误:“绘图:输入参数 #2 和 #3 的尺寸错误:尺寸不兼容。”?
问题描述
我正在尝试绘制陷波滤波器的图像,即滤波前和陷波滤波后信号的频率响应。但是我不能显示最后两个图表,只有第一个(Notch)。因为那个错误:'情节:输入参数#2和#3的尺寸错误:尺寸不兼容。'
我试图改变频率的间隔,但不起作用
wavread("C:\Users\kaline\Desktop\Disciplinas\2019.1\PDS\2° etapa\Trabalho final\sirene.wav","size")
[y,Fs,bits]=wavread("C:\Users\kaline\Desktop\Disciplinas\2019.1\PDS\2° etapa\Trabalho final\sirene.wav");Fs,bits
y=loadwave("C:\Users\kaline\Desktop\Disciplinas\2019.1\PDS\2° etapa\Trabalho final\sirene.wav");
//playsnd(y)
fs=12000;
n=[0:5999];
a=[0.940809 -1.105987 0.940809];
b=[1 -1.105987 0.881618];
[xm,fr]=frmag(a,b,512);
subplot(3,1,1)
plot(fr,abs(xm))
Y=fft(y);
f=n*fs/6000;
subplot(3,1,2)
plot(f,abs(Y)),
z=filter(a,b,y);
z=filter(a,b,z);
z=filter(a,b,z);
w=fft(z);
subplot(3,1,3)
plot(f,abs(w),'r')
playsnd(w);
我希望树图在同一个窗口中,并使用 playnsd(w) 播放过滤后的音频;但实际上我所拥有的是:只有一个图(Notch 的图)
解决方案
我认为您只需要更改 的大小n
以匹配Y
.
Y=fft(y);
在代替之后添加以下代码行f=n*fs/6000;
:
n_samp = size(Y,2);
n = [0:n_samp-1]
f=n*fs/n_samp;
错误消失了,但我不确定代码的正确性(并且无法帮助您)...
我使用了立体声样本,所以我不得不添加另一个小改动。
这是我的代码测试示例:
//wavread("C:\Users\kaline\Desktop\Disciplinas\2019.1\PDS\2° etapa\Trabalho final\sirene.wav","size")
wavread("c:\Program Files\MATLAB\R2016a\toolbox\audio\samples\Turbine-16-44p1-mono-22secs.wav","size")
//[y,Fs,bits]=wavread("C:\Users\kaline\Desktop\Disciplinas\2019.1\PDS\2° etapa\Trabalho final\sirene.wav");Fs,bits
[y,Fs,bits]=wavread("c:\Program Files\MATLAB\R2016a\toolbox\audio\samples\WashingMachine-16-44p1-stereo-10secs.wav");Fs,bits
//y=loadwave("C:\Users\kaline\Desktop\Disciplinas\2019.1\PDS\2° etapa\Trabalho final\sirene.wav");
y=loadwave("c:\Program Files\MATLAB\R2016a\toolbox\audio\samples\Engine-16-44p1-stereo-20sec.wav");
//playsnd(y)
fs=12000;
n=[0:5999];
a=[0.940809 -1.105987 0.940809];
b=[1 -1.105987 0.881618];
[xm,fr]=frmag(a,b,512);
subplot(3,1,1)
plot(fr,abs(xm))
Y=fft(y);
n_samp = size(Y,2);
n = [0:n_samp-1]
f=n*fs/n_samp;
subplot(3,1,2)
plot(f,abs(Y)),
z=filter(a,b,y(1,:));
z=filter(a,b,z(1,:));
z=filter(a,b,z(1,:));
w=fft(z);
subplot(3,1,3)
plot(f,abs(w),'r')
playsnd(w);
推荐阅读
- jsonpath - 如何使用 JSON 选择其中包含 () 的元素
- jmeter - Jmeter 5.1.1 中不存在侦听器“监控结果”
- javascript - 当模式框关闭时,如何将我的复选框重置为未选中?
- php - Laravel:ErrorException(E_ERROR)试图获取非对象的属性(查看:..../show.blade.php)
- python-3.x - Python请求http.client.RemoteDisconnected:远程结束关闭连接没有响应:(
- c# - 无法从 RHEL 7 上的 .Net 核心应用程序连接到 SQL Server 数据库
- arrays - INDIRECT 的数组结果
- python - 根据索引更改多个文件的名称
- php - 手动安装“papertrail/remote_syslog2”,找不到可执行文件
- python - 仅含数字的最长子串的长度