当前位置:网站首页>Matlab 信号处理【问答随笔·2】
Matlab 信号处理【问答随笔·2】
2022-07-07 21:50:00 【鹅毛在路上了】
1. Matlab 简单插值、拟合方法

答:
clc,clear,close all;
x = linspace(-2,2,10);
y = exp(-x.^2);
figure(1)
stem(x,y,"LineWidth",1.5)
grid on
title('f(x)')
%interp1线性插值
xq = linspace(-2,2,20);
vq1 = interp1(x,y,xq);
figure(2)
plot(x,y,'o',xq,vq1,':.',"LineWidth",1.5);
xlim([-2 2]);
grid on
title('interp1线性插值');
%polyfit多项式拟合插值
p = polyfit(x,y,7);
y1 = polyval(p,x);
figure(3)
plot(x,y,'g-o',"LineWidth",1.5)
hold on
plot(x,y1,"LineWidth",1.5)
hold off
xlim([-2 2]);
grid on
title('polyfit多项式拟合插值');
%spline三次样条插值
yy = spline(x,y,xq);
figure(4)
plot(x,y,'o',xq,yy,"LineWidth",1.5)
xlim([-2 2]);
grid on
title('spline三次样条插值');




2. 数字信号处理实验——FIR滤波器设计
问:已知输入信号为混有噪声的信号
x(t)=sin(250πt)+cos(500πt)+cos(700πt)
①画出输入信号时域波形和频谱图,并指出其包含的频率成分(以Hz为单位);
②假定输入信号的中间频率成分为噪声信号,请问应如何设计数字滤波器处理该混合信号,给出合理的设计指标并说明理由,画出滤波器的频响特性:要求两种以上的实现方案。
③用(2)中设计的滤波器完成滤波并验证设计方案,画出滤波器输出信号时域波形和频谱图。
答:
clc,clear,close all;
t = -0.08:0.0001:0.08;
n = -100:100;
L = length(n);
fs = 1000;
x0 = sin(2*pi*125.*n/fs); %时域采样后的信号t=nT=n/fs
x1 = cos(2*pi*250.*n/fs);
x2 = cos(2*pi*350.*n/fs);
x3 = x0 + x1 + x2;
%时域信号
figure(1)
subplot(411)
plot(t,sin(2*pi*125.*t),"LineWidth",1.5)
grid on
subplot(412)
plot(t,cos(2*pi*250.*t),"LineWidth",1.5)
grid on
subplot(413)
plot(t,cos(2*pi*350.*t),"LineWidth",1.5)
grid on
subplot(414)
plot(t,sin(2*pi*125.*t)+cos(2*pi*250.*t)+cos(2*pi*350.*t),"LineWidth",1.5)
grid on
%滤波器设计
wn = 3/5; %截止频率wn为3/5pi(300Hz),wn = 2pi*f/fs
N = 60; %阶数选择
hn = fir1(N-1,wn,boxcar(N)); %10阶FIR低通滤波器
figure(2)
freqz(hn,1);
figure(3)
y = fftfilt(hn,x3); %经过FIR滤波器后得到的信号
plot(n,y,"LineWidth",1.5)
grid on
%频谱分析
X = fft(x3); %未滤波前的频谱
p2 = abs(X/L);
p1 = p2(1:L/2+1);
p1(2:end-1) = 2*p1(2:end-1);
Y = fft(y); %输出信号的fft
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(L/2))/L;
figure(4)
subplot(211)
plot(f,p1,"LineWidth",1.5)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|p1(f)|')
grid on
subplot(212)
plot(f,P1,"LineWidth",1.5)
title('Single-Sided Amplitude Spectrum of Y(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
grid on
时域波形:分别为125(2pi*125=250pi)、250和350Hz的余弦信号
截止频率为300Hz的FIR低通滤波器:
滤波前和滤波后的频谱:
滤波后的时域信号:
3. Matlab做的热力图为什么不是顺滑的过渡?——伪彩图函数pcolor()的用法
问题相关代码:
clear; clc; close all
[,,raw ] = xlsread('体育设施热力图数据.xlsx');
mat = cell2mat(raw(2:end, 2:end));
imagesc(mat); %生成热图
c=colorbar;
colormap hot;
ylabel(c,'Population Heat');
caxis([1 11]) %更改右侧颜色条最大最小值
xticks(1:13) %x轴分成13等分
xticklabels(raw(1,2:end))
yticks(1:15)
yticklabels(raw(2:end,1))

预期效果:
答:可能是数据量较少的原因,预期效果不仅仅是用的imagesc(),更像是颜色插值后的伪彩图,建议尝试pcolor():
clc,clear,close all;
data=round(rand(1,900)*100);
data=reshape(data,10,90);
h=pcolor(data);
h.FaceColor = 'interp';
set(h,'LineStyle','none');
clc,clear,close all;
data=round(rand(1,900)*100);
data=reshape(data,10,90);
h=pcolor(data);
h.FaceColor = 'interp';
colormap jet;
colorbar;
set(h,'LineStyle','none');


伪彩图函数pcolor()的用法:pcolor官方文档
边栏推荐
- Network security - Eternal Blue
- 网络安全-burpsuit
- Are the microorganisms in the intestines the same as those on the skin?
- Online interview, how to better express yourself? In this way, the passing rate will be increased by 50%~
- 定位到最底部[通俗易懂]
- 网络安全-钓鱼
- Gee (IV): calculate the correlation between two variables (images) and draw a scatter diagram
- One question per day - pat grade B 1002 questions
- Brush question 4
- 开发那些事儿:Go加C.free释放内存,编译报错是什么原因?
猜你喜欢

Cascade-LSTM: A Tree-Structured Neural Classifier for Detecting Misinformation Cascades-KDD2020

U盘拷贝东西时,报错卷错误,请运行chkdsk

Talk about DART's null safety feature

Develop those things: go plus c.free to free memory, and what are the reasons for compilation errors?

成年人只有一份主业是要付出代价的,被人事劝退后,我哭了一整晚

Wechat forum exchange applet system graduation design (3) background function

When copying something from the USB flash disk, an error volume error is reported. Please run CHKDSK

聊聊支付流程的设计与实现逻辑

Install a new version of idea. Double click it to open it

Microbial Health Network, How to restore Microbial Communities
随机推荐
USB(十六)2022-04-28
It's no exaggeration to say that this is the most user-friendly basic tutorial of pytest I've ever seen
Microbial health network, how to restore microbial communities
Lecture 30 linear algebra Lecture 5 eigenvalues and eigenvectors
微生物健康網,如何恢複微生物群落
Why does the market need low code?
消息队列与快递柜之间妙不可言的关系
二叉树(Binary Tree)
Comparison of various development methods of applets - cross end? Low code? Native? Or cloud development?
Network security sqlmap and DVWA explosion
Innovation today | five key elements for enterprises to promote innovation
ArcGIS:矢量要素相同字段属性融合的两种方法
Classification and prediction of heartbeat signal
GEE(四):计算两个变量(影像)之间的相关性并绘制散点图
Talk about DART's null safety feature
JMeter-接口自动化测试读取用例,执行并结果回写
Microbial Health Network, How to restore Microbial Communities
PMP项目管理考试过关口诀-1
Network security - install CentOS
Cascade-LSTM: A Tree-Structured Neural Classifier for Detecting Misinformation Cascades-KDD2020