سلام دوستان
برای پردازش سیگنال داده های دریافتی از سنسور شتاب سنج وضربان قلب (کلا چهار تا داده)از تبدیل موجک در محیط متلب استفاده می کنم، اما زمانی که M-File مربوطه رو ساختم فایل txt که شامل آرایه ای از داده هاست در واقع مربوط به داده های دریافت شده از سنسور هست رو تشخیص نمیده نمیدونم چیکار کنم ممنون میشم راهنماییم کنید.کدM-File رو پایین قرار دادم.
برای پردازش سیگنال داده های دریافتی از سنسور شتاب سنج وضربان قلب (کلا چهار تا داده)از تبدیل موجک در محیط متلب استفاده می کنم، اما زمانی که M-File مربوطه رو ساختم فایل txt که شامل آرایه ای از داده هاست در واقع مربوط به داده های دریافت شده از سنسور هست رو تشخیص نمیده نمیدونم چیکار کنم ممنون میشم راهنماییم کنید.کدM-File رو پایین قرار دادم.
کد:
function [wave1, wave2, wave3, wave4] = allwavelet(in1, in2,in3,in4,WinSize, label) % Arrlength = length(in1); size=0; detailSize=0; %Calculate X wavelet tempX(WinSize)=0; k=1; for i = 1:WinSize:Arrlength m=1; for j = i:1:i+WinSize-1 tempX(m) = in1(j); m=m+1; end [Cx,Lx] = wavedec(tempX,3,'haar'); size=Lx(1)+Lx(2)+Lx(3)+Lx(4); detailSize=Lx(2)+Lx(3)+Lx(4); res 1(1:size,k)=Cx; k=k+1; end %Calculate Y wavelet tempY(WinSize)=0; k=1; for i = 1:WinSize:Arrlength m=1; for j = i:1:i+WinSize-1 tempY(m) = in2(j); m=m+1; end [Cy,Ly] = wavedec(tempY,3,'haar'); size=Ly(1)+Ly(2)+Ly(3)+Ly(4); res 2(1:size,k)=Cy; k=k+1; end %Calculate Z wavelet tempZ(WinSize)=0; k=1; for i = 1:WinSize:Arrlength m=1; for j = i:1:i+WinSize-1 tempZ(m) = in3(j); m=m+1; end [Cz,Lz] = wavedec(tempZ,3,'haar'); size=Lz(1)+Lz(2)+Lz(3)+Lz(4); res 3(1:size,k)=Cz; k=k+1; end %Calculate PPG wavelet tempG(WinSize)=0; k=1; for i = 1:WinSize:Arrlength m=1; for j = i:1:i+WinSize-1 tempG(m) = in4(j); m=m+1; end [Cg,Lg] = wavedec(tempG,3,'haar'); size=Lg(1)+Lg(2)+Lg(3)+Lg(4); res 4(1:size,k)=Ch; k=k+1; end %Write outputs in file x filename =['allwavelet_x',num2str(WinSize),label,'.txt']; fid = fopen(filename, 'w'); group=Arrlength/WinSize; for i = 1:1:size for j = 1:1:group fprintf(fid, '%6.4f', res1(i,j)); fprintf(fid,' '); end fprintf(fid,'\r\n'); end fclose(fid); %End Write %Write outputs in file y filename =['allwavelet_y',num2str(WinSize),label,'.txt']; fid = fopen(filename, 'w'); group=Arrlength/WinSize; for i = 1:1:size for j = 1:1:group fprintf(fid, '%6.4f', res2(i,j)); fprintf(fid,' '); end fprintf(fid,'\r\n'); end fclose(fid); %End Write %Write outputs in file z filename =['allwavelet_z',num2str(WinSize),label,'.txt']; fid = fopen(filename, 'w'); group=Arrlength/WinSize; for i = 1:1:size for j = 1:1:group fprintf(fid, '%6.4f', res3(i,j)); fprintf(fid,' '); end fprintf(fid,'\r\n'); end fclose(fid); %End Write %Write outputs in file h filename =['allwavelet_h',num2str(WinSize),label,'.txt']; fid = fopen(filename, 'w'); group=Arrlength/WinSize; for i = 1:1:size for j = 1:1:group fprintf(fid, '%6.4f', res4(i,j)); fprintf(fid,' '); end fprintf(fid,'\r\n'); end fclose(fid); %End Write %Plot b=group*detailSize; detailSize = size - detailSize + 1; wave1(b)=0.0; k=1; for i = 1:1:group for j = detailSize:1:size wave1(k)=res1(j,i); k=k+1; end end %%%%% wave2(b)=0.0; k=1; for i = 1:1:group for j = detailSize:1:size wave2(k)=res2(j,i); k=k+1; end end %%%%% wave3(b)=0.0; k=1; for i = 1:1:group for j = detailSize:1:size wave3(k)=res3(j,i); k=k+1; end end %%%%% wave4(b)=0.0; k=1; for i = 1:1:group for j = detailSize:1:size wave4(k)=res4(j,i); k=k+1; end end subplot(4,1,1) plot(wave1,'rs', 'MarkerFaceColor','r'); xlabel('Time'); ylabel('wavelet X'); subplot(4,1,2) plot(wave2,'rs', 'MarkerFaceColor','g'); xlabel('Time'); ylabel('wavelet Y'); subplot(4,1,3) plot(wave3,'rs', 'MarkerFaceColor','b'); xlabel('Time'); ylabel('wavelet Z'); subplot(4,1,4) plot(wave4,'rs', 'MarkerFaceColor','c'); xlabel('Time'); ylabel('wavelet PPG'); %hold all
دیدگاه