Error using plot !

1 次查看(过去 30 天)
Osman osmanavci
Osman osmanavci 2020-5-7
回答: Tommy 2020-5-7
sinyal=audiorecorder(44100,16,1);
disp('start speaking')
recordblocking(sinyal,5);
play(sinyal);
myrec=getaudiodata(sinyal);
audiowrite('ses.wav', myrec, 44100);
z=myrec
figure
voicefft = fft(z);
magnitude=abs(voicefft);
anglefft=angle(voicefft);
magx=max(magnitude);
subplot(211);
plot(abs(voicefft));
title('magnitude');
subplot(212);
plot(unwrap(angle(voicefft)));
title('phase');
f=10000;
Amp=2;
fs = 44100;
ts=1/44100;
T=5;
t=0:ts:T;
y=Amp*sin(2*pi*f*t);
x1=y';
y_noisy=z+x1(1:length(z));
figure
noisyfft = fft(z);
magnoisy=abs(noisyfft);
anglenoisy=angle(noisyfft);
subplot(211);
plot(abs(noisyfft));
title('magnitude');
subplot(212);
plot((angle(noisyfft)));
title('phase');
figure
plot(t,z);
xlim([0 0.004]);
figure
plot(t,y_noisy);
xlim([0 0.004]);
figure
plot(t,y);
xlim([0 0.004]);
figure
plot(abs(z));
xlim([0 200]);
figure
plot(angle(z));
xlim([0 200]);
figure
plot(abs(y_noisy));
xlim([0 200])
figure
plot(angle(y_noisy));
xlim([0 200]);
audiowrite('bozukses.wav', y_noisy, 44100);
nfilt = 70;
Fst = 9000;
d = designfilt('lowpassfir','FilterOrder',nfilt, ...
'CutoffFrequency',Fst,'SampleRate',fs);
xf = filter(d,y_noisy);
plot(t,xf,'-r','linewidth',1.5);
title 'Electrocardiogram'
xlabel 'Time (s)', legend('Original Signal','Filtered Signal')
grpdelay(d,f,fs)
delay = mean(grpdelay(d))
tt = t(1:end-delay);
sn = z(1:end-delay);
sf = xf;
sf(1:delay) = [];
plot(tt,sn);
plot(tt,sf,'-r','linewidth',1.5);
title 'Electrocardiogram'
xlabel('Time (s)'), legend('Original Signal','Filtered Shifted Signal')
►This my script codes but i give two errors.Error is 'Vectors must be same length' and 'LİNE (49) plot (t,z);'
How can ı fix these errors, please show my solution in my codes.

回答(1 个)

Tommy
Tommy 2020-5-7
z has length (44100 1/s) * (5 s) = 220500. t has length 220501. You could use linspace to ensure t has the correct length:
t = linspace(0, T, T*fs);

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

产品


版本

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by