守望_sy 2021-12-01 08:30 采纳率: 63.2%
浏览 44
已结题

傅里叶分析和滤波问题

问题遇到的现象和发生背景

初学者,请问代码怎么修改
Fourier Analysis and Filtering

  1. Please remove small dark points in the image sampe6.jpg by raster filtering, and by frequency filter using Fourier transform.
  2. In the image sample1.jpg, please remove the horizontal noise.

翻译:
傅里叶分析和滤波

  1. 请通过光栅过滤去除图像 sampe6.jpg 中的小暗点,并使用傅里叶变换通过频率过滤去除图像中的小暗点。

    img

  2. 在图片sample1.jpg中,请去除水平噪声。

    img

问题相关代码,请勿粘贴截图
<p>思路&#xff1a;</p>

 

<p>先用fourier函数求傅里叶级数&#xff0c;得到傅里叶级数解析表达式&#xff0c;再取不同的频率w值&#xff0c;根据傅里叶级数求得不同频率的幅值和相位&#xff0c;将不同w的信号加和得到不同项数恢复的时域信号。</p>

 

<p>代码&#xff1a;</p>

 

<pre>

<code>%% 傅里叶级数求解

syms a b t

f &#61; rectangularPulse(a,b,t)-0.5;   % 矩形信号

f_FT &#61; fourier(f);                 % 矩形信号傅里叶变换表达式

 

%% 时域信号

a &#61; -0.25;

b &#61; 0.25;

t &#61; linspace(-0.5,0.5,1000);   % 时间

y &#61; subs( f );                 % 时域信号 

 

%% 前3项恢复

w1 &#61; 2*pi*[1  3 5 ];                % 频率

w &#61;w1;

Aw1 &#61; 2*abs( double(subs(f_FT)) );    % 幅值

Pw1 &#61; angle( double(subs(f_FT)) );  % 相位 

y1 &#61; 0;

for  ii &#61; 1:length(w1)

    y1 &#61; y1 &#43; Aw1(ii) .* cos( w1(ii).*t &#43; Pw1(ii) );

end

 

%% 前5项恢复

w2 &#61; 2*pi*[1 3 5 7 9];              % 频率

w &#61;w2;

Aw2 &#61; 2*abs( double(subs(f_FT)) );    % 幅值

Pw2 &#61; angle( double(subs(f_FT)) );  % 相位 

y2 &#61; 0;

for  ii &#61; 1:length(w2)

    y2 &#61; y2 &#43; Aw2(ii) .* cos( w2(ii).*t &#43; Pw2(ii) );

end

 

%% 前10项恢复

w3 &#61; 2*pi*[1 3 5 7 9 11 13 15 17 19];                  % 频率

w &#61;w3;

Aw3 &#61; 2*abs( double(subs(f_FT)) );    % 幅值

Pw3 &#61; angle( double(subs(f_FT)) );  % 相位 

y3 &#61; 0;

for  ii &#61; 1:length(w3)

    y3 &#61; y3 &#43; Aw3(ii) .* cos( w3(ii).*t &#43; Pw3(ii) );

end

 

 

figure

plot(t,y,t,y1,t,y2,t,y3)

xlabel(&#39;时间/s&#39;)

ylabel(&#39;输出&#39;)

legend(&#39;原始信号&#39;,&#39;前3项&#39;,&#39;前5项&#39;,&#39;前10项&#39;)</code></pre>

 

<p>结果&#xff1a;</p>

 

<p style="text-align:center"><img alt="" height="420" src="https://img-ask.csdnimg.cn/upload/1621776465139.png" width="885" /></p>

 

<p> </p>

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月9日
    • 赞助了问题酬金 12月1日
    • 修改了问题 12月1日
    • 创建了问题 12月1日

    悬赏问题

    • ¥15 C++为什么这个代码没报错运行不出来啊
    • ¥15 第一行输入n,第二行输入a b c输出的字符向后平移n个位置,当移动到z时,重新返回a开始
    • ¥15 为什么跑这个代码,文件显示不在呀
    • ¥15 一道ban了很多东西的pyjail题
    • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
    • ¥15 C++识别堆叠物体异常
    • ¥15 微软硬件驱动认证账号申请
    • ¥15 GPT写作提示指令词
    • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
    • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题