
W=fft(w,N);
thisfilter(1:17)=001;
thisfilter(18:499)=1;
thisfilter(500:N)=001;%%%W对应的50Hz的峰值最大,找到对应的两个最大峰值的位置
thispy3=thisfilterW;%滤波
完整的程序
%写上标题
%设计低通滤波器:
[N,Wc]=buttord()
%估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc
[a,b]=butter(N,Wc); %设计Butterworth低通滤波器
[h,f]=freqz(); %求数字低通滤波器的频率响应
figure(2); % 打开窗口2
subplot(221); %图形显示分割窗口
plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图
title(巴氏低通滤波器'');
grid; %绘制带网格的图像
sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数
subplot(222);
plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形
xlabel('时间 (seconds)');
ylabel('时间按幅度');
SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w= %新信号角频率
subplot(223);
plot()); %绘制叠加函数S经过低通滤波器以后的频谱图
title('低通滤波后的频谱图');
%设计高通滤波器
[N,Wc]=buttord()
%估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc
[a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器
[h,f]=freqz(); %求数字高通滤波器的频率响应
figure(3);
subplot(221);
plot()); %绘制Butterworth高通滤波器的幅频响应图
title('巴氏高通滤波器');
grid; %绘制带网格的图像
sf=filter(); %叠加函数S经过高通滤波器以后的新函数
subplot(222);
plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形
xlabel('Time(seconds)');
ylabel('Time waveform');
w; %新信号角频率
subplot(223);
plot()); %绘制叠加函数S经过高通滤波器以后的频谱图
title('高通滤波后的频谱图');
%设计带通滤波器
[N,Wc]=buttord([)
%估算得到Butterworth带通滤波器的最小阶数N和3dB截止频率Wc
[a,b]=butter(N,Wc); %设计Butterworth带通滤波器
[h,f]=freqz(); %求数字带通滤波器的频率响应
figure(4);
subplot(221);
plot(f,abs(h)); %绘制Butterworth带通滤波器的幅频响应图
title('butter bandpass filter');
grid; %绘制带网格的图像
sf=filter(a,b,s); %叠加函数S经过带通滤波器以后的新函数
subplot(222);
plot(t,sf); %绘制叠加函数S经过带通滤波器以后的时域图形
xlabel('Time(seconds)');
ylabel('Time waveform');
SF=fft(); %对叠加函数S经过带通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w=( %新信号角频率
subplot(223);
plot(')); %绘制叠加函数S经过带通滤波器以后的频谱图
title('带通滤波后的频谱图');
你这个程序是没有问题的,我在MATLAB上运行了,结果正确,你说的y与c的卷积?是x与c的卷积吧,卷积是不会要求两者的长度是一样的,任何两个不同长度的都可以用的,最后的长度是两者长度相加减一。
1 Matlab本身没有数据采集功能,需要借助数据采集卡(硬件)和更低层的软件(或驱动)
2 Matlab本身不太适合高速实时的数据处理,所以要看你的电压变化有多快才能决定能否用Matlab处理。
问题补充:
我又数据采集卡,而且也装好了驱动,但不我知道应该用MATLAB的哪个toolbox
答:你的数据采集系统还应当提供一个可编程(控制)接口,例如某个动态连接库,其中含有可以被其他程序(Matlab)调用的用来从采集卡往该程序(Matlab)传递数据或参数的控制函数。如此方可被其他程序(Matlab)使用。但这当中还是要考虑Matlab的实时性问题。
以上就是关于用【Matlab】设计一个去除30Hz信号中50Hz的信号的小程序。。全部的内容,包括:用【Matlab】设计一个去除30Hz信号中50Hz的信号的小程序。。、关于用MATLAB设计对信号进行频谱分析和滤波处理的程序、用MATLAB来设计信号与系统的一个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)