跪求各位大神,频率采样法设计FIR滤波器

用频率采样法设计FIR滤波器,最好是有MFC的完整程序,能够显示滤波器的幅度特性,谢谢谢谢。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
FIR滤波器的相位计算问题

用MATLAB的FDATOOL工具设计50阶FIR滤波器,窗口的参数分别设置为: 滤波器类型:低通滤波器; 设计方法:FIR,Window类型,汉明窗; 滤波器阶数:50; 采样频率为10000Hz,截止频率为150Hz。 通过设计得到滤波器的相频特性曲线,从曲线上得到60Hz处的相位为-0.9491506rad,即54.39°的样子。 问题是通过FIR滤波器的相位计算公式-w(N-1)/2,得到60Hz处的相位为-2*3.14*60*49/2,这个数很大,为什么和图中不一样,是不是我的理解有问题。求大神指教。

fir滤波器与高通,低通滤波器

fir数字滤波器和 高通,低通数字滤波器之间有什么区别?一个fir数字滤波器的C语言代码,能通过该参数实现高通和低通的功能吗? 求大神们指点

在设计FIR滤波器设计时,采用全并行方式,求和后发现结果为0,请问问题在哪?多谢!

![仿真结果](https://img-ask.csdn.net/upload/201806/09/1528534993_489948.png) ``` library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; entity FIRParallel is port( rst:in std_logic; clk:in std_logic; Xin:in std_logic_vector(11 downto 0); Yout:out std_logic_vector(28 downto 0) ); end FIRParallel; architecture arch_FIRParallel of FIRParallel is component mult PORT ( clk : IN STD_LOGIC; a : IN STD_LOGIC_VECTOR(11 DOWNTO 0); b : IN STD_LOGIC_VECTOR(12 DOWNTO 0); p : OUT STD_LOGIC_VECTOR(24 DOWNTO 0) ); end component; component AddSub port( a : IN STD_LOGIC_VECTOR(11 DOWNTO 0); b : IN STD_LOGIC_VECTOR(11 DOWNTO 0); clk : IN STD_LOGIC; s : OUT STD_LOGIC_VECTOR(12 DOWNTO 0) ); end component; component filter_adder port( a : IN STD_LOGIC_VECTOR(28 DOWNTO 0); b : IN STD_LOGIC_VECTOR(24 DOWNTO 0); clk : IN STD_LOGIC; s : OUT STD_LOGIC_VECTOR(28 DOWNTO 0) ); end component; type add_res is array(7 downto 0) of std_logic_vector(12 downto 0); signal add_reg:add_res; type mult_regs is array(7 downto 0) of std_logic_vector(24 downto 0); signal mult_reg:mult_regs; type xin_regs is array(15 downto 0) of std_logic_vector(11 downto 0); signal xin_reg:xin_regs; signal sum0:std_logic_vector(28 downto 0):=(others=>'0'); signal sum1:std_logic_vector(28 downto 0); signal sum2:std_logic_vector(28 downto 0); signal sum3:std_logic_vector(28 downto 0); signal sum4:std_logic_vector(28 downto 0); signal sum5:std_logic_vector(28 downto 0); signal sum6:std_logic_vector(28 downto 0); signal sum7:std_logic_vector(28 downto 0); signal sum8:std_logic_vector(28 downto 0); --Coeffections constant co0:std_logic_vector(11 downto 0):= X"000"; constant co1:std_logic_vector(11 downto 0):= X"FFD"; constant co2:std_logic_vector(11 downto 0):= X"00F"; constant co3:std_logic_vector(11 downto 0):= X"02E"; constant co4:std_logic_vector(11 downto 0):= X"F8B"; constant co5:std_logic_vector(11 downto 0):= X"EF9"; constant co6:std_logic_vector(11 downto 0):= X"24E"; constant co7:std_logic_vector(11 downto 0):= X"7FF"; begin adder0:AddSub port map ( a => xin_reg(0), b => xin_reg(15), clk => clk, s => add_reg(0)); adder1:AddSub port map ( a => xin_reg(1), b => xin_reg(14), clk => clk, s => add_reg(1)); adder2:AddSub port map ( a => xin_reg(2), b => xin_reg(13), clk => clk, s => add_reg(2)); adder3:AddSub port map ( a => xin_reg(3), b => xin_reg(12), clk => clk, s => add_reg(3)); adder4:AddSub port map ( a => xin_reg(4), b => xin_reg(11), clk => clk, s => add_reg(4)); adder5:AddSub port map ( a => xin_reg(5), b => xin_reg(10), clk => clk, s => add_reg(5)); adder6:AddSub port map ( a => xin_reg(6), b => xin_reg(9), clk => clk, s => add_reg(6)); adder7:AddSub port map ( a => xin_reg(7), b => xin_reg(8), clk => clk, s => add_reg(7)); mult_u0:mult port map ( clk=>clk, a=>co0, b=>add_reg(0), p=>mult_reg(0)); mult_u1:mult port map ( clk=>clk, a=>co1, b=>add_reg(1), p=>mult_reg(1)); mult_u2:mult port map ( clk=>clk, a=>co2, b=>add_reg(2), p=>mult_reg(2)); mult_u3:mult port map ( clk=>clk, a=>co3, b=>add_reg(3), p=>mult_reg(3)); mult_u4:mult port map ( clk=>clk, a=>co4, b=>add_reg(4), p=>mult_reg(4)); mult_u5:mult port map ( clk=>clk, a=>co5, b=>add_reg(5), p=>mult_reg(5)); mult_u6:mult port map ( clk=>clk, a=>co6, b=>add_reg(6), p=>mult_reg(6)); mult_u7:mult port map ( clk=>clk, a=>co7, b=>add_reg(7), p=>mult_reg(7)); filter_adder_u0:filter_adder port map ( a => sum0, b => mult_reg(0), clk => clk, s => sum1); filter_adder_u1:filter_adder port map ( a => sum1, b => mult_reg(1), clk => clk, s => sum2); filter_adder_u2:filter_adder port map ( a => sum2, b => mult_reg(2), clk => clk, s => sum3); filter_adder_u3:filter_adder port map ( a => sum3, b => mult_reg(3), clk => clk, s => sum4); filter_adder_u4:filter_adder port map ( a => sum4, b => mult_reg(4), clk => clk, s => sum5); filter_adder_u5:filter_adder port map ( a => sum5, b => mult_reg(5), clk => clk, s => sum6); filter_adder_u6:filter_adder port map ( a => sum6, b => mult_reg(6), clk => clk, s => sum7); filter_adder_u7:filter_adder port map ( a => sum7, b => mult_reg(7), clk => clk, s => sum8); Yout <= sum8; PXin:process(rst,clk) begin if rst = '1' then for i in 0 to 15 loop xin_reg(i) <= (others=>'0'); end loop; elsif rising_edge(clk) then for i in 0 to 14 loop xin_reg(i+1) <= xin_reg(i); end loop; xin_reg(0) <= Xin; end if; end process PXin; end arch_FIRParallel; ```

FIR低通滤波器输入缓冲区为频率等于0的常数,输出缓冲区是否跟随输入?

请教老师: 用MATLAB的FDATool设计一个FIR低通滤波器,Fs=4HZ,Fc=1.5HZ,Order=16,输入采样32个值恒定=1.那么滤波器输出是不是应该=1 ? 我用STM32的CMSIS库函数arm_fir_f32(&S, inputF32 + (i * blockSize), outputF32 + (i * blockSize), blockSize); 把输入缓冲区的数值全部为1,输出缓冲区数值却是随机的,这是为什么? ``` #define TEST_LENGTH_SAMPLES 16 /* 采样点数 */ #define BLOCK_SIZE 16 /* 调用一次arm_fir_f32处理的采样点个数 */ #define NUM_TAPS 15 //29 /* 滤波器系数个数 */ uint32_t blockSize = BLOCK_SIZE; uint32_t numBlocks = TEST_LENGTH_SAMPLES/BLOCK_SIZE; /* 需要调用arm_fir_f32的次数 */ static float32_t testInput_f32_50Hz_200Hz[TEST_LENGTH_SAMPLES]; /* 采样点 */ static float32_t testOutput[TEST_LENGTH_SAMPLES]; /* 滤波后的输出 */ static float32_t firStateF32[BLOCK_SIZE + NUM_TAPS - 1]; /* 状态缓存,大小numTaps + blockSize - 1*/ /* 低通滤波器系数 通过fadtool获取 FS=4HZ,FC=1.5HZ */ const float32_t firCoeffs32LP[NUM_TAPS] = { -0.002572332276, 0.006660863757, -0.01139776595,1.279498026e-17, 0.0481939055, -0.1315901577, 0.2148257494, 0.75, 0.2148257494, -0.1315901577, 0.0481939055,1.279498026e-17, -0.01139776595, 0.006660863757,-0.002572332276 }; int main(void) { uint8_t ucKeyCode; /* 按键代码 */ uint16_t i; for(i=0; i<16; i++) { testInput_f32_50Hz_200Hz[i] = 1.0; } while (1) { arm_fir_f32_lp(); //27ms执行周期 for(i=0; i<16; i++) { y=testOutput[i]; // timeDly(1000); } } } static void arm_fir_f32_lp(void) { uint32_t i; arm_fir_instance_f32 S; float32_t *inputF32, *outputF32; /* 初始化输入输出缓存指针 */ inputF32 = &testInput_f32_50Hz_200Hz[0]; outputF32 = &testOutput[0]; /* 初始化结构体S */ arm_fir_init_f32(&S, NUM_TAPS, (float32_t *)&firCoeffs32LP[0], &firStateF32[0], blockSize); /* 实现FIR滤波 */ // for(i=0; i < numBlocks; i++) //{ i=0; arm_fir_f32(&S, inputF32 + (i * blockSize), outputF32 + (i * blockSize), blockSize); // } } } ```

关于vivado的fir核系数重载问题,重载系数的阶数能否和建核时导入的滤波器阶数不一致?

是这样的,假如建核时我导入了一个coe文件,滤波器系数是50阶,那我在reload coefficient时,可以重载一组不等于50阶的系数吗?谢谢各位大佬了!

编译FIR滤波器核通过,仿真报错如下,不知道是什么原因

编译FIR滤波器核通过,仿真报错如下,不知道是什么原因![图片说明](https://img-ask.csdn.net/upload/201706/02/1496407213_526603.png)

求大神!!急!!!!5M方波经过滤波器后,信号成未知状态

本人小白,我跟着网上的例程,使用两个DDS信号发生器合成一个信号。然后用MATLAB的fdatool生成滤波器系数,调用ise的fir IP核,生成2M-8M带通滤波器,下面是代码和图片(这个可以证明我滤波器是没配置错的),但是当我把5M方波信号接到滤波器上,信号就成未知状态了,无法理解,是什么情况。 ![图片说明](https://img-ask.csdn.net/upload/201911/20/1574245482_95548.png) ![图片说明](https://img-ask.csdn.net/upload/201911/20/1574245533_872111.png) 这是成功的例子,但我把DDS信号发生器换成我写的5M方波信号时,问题就来了,附图: ![图片说明](https://img-ask.csdn.net/upload/201911/20/1574245879_502332.png) ![图片说明](https://img-ask.csdn.net/upload/201911/20/1574246000_809718.png) 从图中,可以看得出来我的方波信号是生成成功的,而滤波器我用的是上一个滤波器,完全没改变什么,但出来的信号是未知信号。 我听说方波信号是几个正弦波合成的,于是把带通滤波器分别导入了其他的滤波器系数,一个是20M以下的低通滤波器,一个是1M以上的高通滤波器,但出来的信号依然是红条!! 我对比两次例子,发现一个给了数据宽度位数后我果断也把第二个例子写上了数据位数,结果倒是有数据输出了,可是输出的数据根本不对啊附图: ![图片说明](https://img-ask.csdn.net/upload/201911/21/1574304164_492033.png) 正常来说,方波经过滤波器出来的应该是正弦波,可我这还是方波,不知道是在哪个步骤没搞好。 拜托大神们,我都快自闭了。。。。。。。。。。。。。。。。。。

求助低通滤波器设计filter solution,使用的具体步骤

求助低通滤波器设计filter solution,使用的具体步骤,我要做一个低通滤波器,0-10m

这种形式是低通滤波器吗?为什么?

![图片说明](https://img-ask.csdn.net/upload/201603/15/1458026898_302686.png) 公式如上所示,其中|w|是一个大于1的正整数,请问这个是一个低通滤波器吗,为什么 呢?请大神指教,谢谢了

求低通滤波器的C++代码,要源代码,不能借助OPENCV

本人正在mfc当中处理bmp图像,需要在频率域对图像做一个低通滤波,急求代码

这个多采样速率率滤波器组如何实现?

![图片说明](https://img-ask.csdn.net/upload/201711/29/1511915764_172761.png)该图来自:Masataka Goto 2004 年"A real-time music-scene-description system: predominant-F0 estimation for detecting melody and bass lines in real-world audio signals" 一文中的3.1.1章节。 相关描述如下: At each level of the binary branches, the audio signal is down-sampled by a decimator that consists of an anti-aliasing filter (an FIR lowpass filter (LPF)) and a 1/2 down-sampler. The cut-off frequency of the LPF in each decimator is 0.45 fs, where fs is the sampling rate at that branch. 很困惑 滤波和降采样率的先后顺序?请大佬们教学一下,谢谢了

如何在ISE开发环境下对信号进行希尔伯特(hilbert)变换?

新手小白,想对数字信号进行希尔伯特变换,最好采用IP核。我用的是ISE14.7版本,其中有个FIR的IP核(版本6.3)可以选择希尔伯特滤波器,但我不知道应该如何设置。请大神帮忙,跪谢了! 另:所需要处理的信号是14位的

C语言实现数字滤波的方法

本人现做数字电源,由于纹波大导致采样跳动,现想用数字滤波解决这个问题,但是由于本人知识有限,用MATLAB生成头文件之后,编写出来的程序始终不行,还请各位大侠不吝赐教,本人感谢不尽……谢谢

请教有关IPP库函数的使用

我正在编一个MSK解调程序,用到IPP库去做。 主要想是读取一个WAV文件(文件解析都做完了),然后对波形进行功率谱估计,滤波等操作,出现如下问题: 1.我读进来的数据都是 short 型的,什么IPP函数可以转化为ipp类型 2.IPP滤波器的参数没看懂啊,怎么设置通带频率和阻带以及滤波器阶数啊 ``` IppStatus ippsFIR_32fc_I(Ipp32fc* pSrcDst, int numIters, IppsFIRState_32fc* pState ) ``` 3.从IPP的使用说明我看了,那个求相位的返回结果是什么啊?角度吗? ``` void func_phase() { Ipp32f re[4]= {0.0, 1.0, 0.0, 1.0}; Ipp32f im[4]= {0.0, 0.0, 1.0, 1.0}; Ipp32f pDst[4]; ippsPhase_32f(re,im,pDst, 4); } Result pDst -> {0.0, 0.0, 1.6 0.8) ```

dsp上实现matlab上fir数字低通滤波(付费)

请教大神们有没有在matlab上设计好的滤波系数,引用到dsp上,在dsp上用fir实现低通数字滤波? 我现在的问题是,用AD采集的白噪音信号经过matlab中的滤波程序可以达到要求,但是dsp上设计的滤波器就达不到要求,我的采样点是100/S,要求滤波前后后数据长度相等,20Hz小于-3dB且30Hz大于-80dB,有做过这方面或有有意向的可与我联系,18838208367

基于MATLAB的最大似然频偏估计仿真程序

跪求一段基于MATLAB的最大似然频偏估计仿真程序。分别仿真信噪比在100dB,20dB,10dB条件下,采样点长度为N=8的频偏估计算法结果。频偏估计中低通滤波器采用16阶FIR滤波器,绘图显示不同信噪比下条件下的仿真结果。

关于IP核logiISP在色度重采样上的配置问题

本人刚刚接触vivado等内容,所以基本属于空白状态。现在需要使用MicroBlaze配置logiISP,完成视频色度重采样,需要在YCbCr4:4:4,4:2:2,4:2:0之间任意转换。请问具体应该怎么做呢?比如配置哪些寄存器,MicroBlaze的C语言代码又该怎么写呢?谢谢。视频要求1080P,时钟148.25MHz

求大神帮忙编写一个DSP的汇编语言的自相关程序,并给出设计思路和程序注释

dsp处理器是tms320c55x 自相关互相关,64点fft,6阶IIR,系数对称的FIR滤波器 能编写一个就好了,上课没太听懂,编的问题很多。。。 ![图片说明](https://img-ask.csdn.net/upload/201811/25/1543123686_339025.png) 最好也有第三个题。。。我专业是电子信息工程。。。

Matlab下的QPSK+成形滤波的仿真问题

各位大侠好,我是通信工程毕业的,不过对通信原理理解的不太升入,参考别人的代码用matlab做了一个QPSK仿真。存在以下几点问题,希望大侠能解答: 1,已知fs,fc,数据码率下如何确定接收端带通滤波器的带宽。 2,已知fs,fc,数据码率下如何确定相干解调后低通滤波器的带宽。 3,我根据自己的理解对滤波器参数进行了设定,但是发现误码率反而比没有滤波器的时候增大了,简而言之就是无论怎么设置,接收端增加滤波器后,误码率就会变大。 附代码,已测试代码可运行(除了*号显示不出来,这是为什么)? clc;clear; fc = 5000000; fs = 25000000; N = 2000; Tb = 1/5000000; data = round(rand(1,N)); %转为极性码 data_NRZ = 2*data-1; %分为IQ两路 I = zeros(1,N); Q = zeros(1,N); I(1:2:N-1) = data_NRZ(1:2:N-1); I(2:2:N) = data_NRZ(1:2:N-1); Q(1:2:N-1) = data_NRZ(2:2:N); Q(2:2:N) = data_NRZ(2:2:N); %插0 zero = fs*Tb; for i = 1:zero*N if rem(i,zero)==1 I0(i) = I((i-1)/zero+1); Q0(i) = Q((i-1)/zero+1); else I0(i) = 0; Q0(i) = 0; end end %平方根升余弦滤波器 NT = 10; %滤波器阶数 rf = 0.1; %滚降系数 psf = rcosfir(rf,NT,zero,1/fs,'sqrt'); Ipulse = conv(I0,psf); Qpulse = conv(Q0,psf); %调制 num = NT*zero*2; t = 0:1/fs:(N*zero+num)/fs-1/fs; for i = 1:zero*N+num Imod(i) = Ipulse(i)*sqrt(2)*cos(2*pi*fc*t(i)); Qmod(i) = Qpulse(i)*sqrt(2)*sin(2*pi*fc*t(i)); end QPSK = Imod - Qmod; %添加噪声 QPSK_in = awgn(QPSK,-5,'measured'); %接收滤波器 [B,A] = butter(4,[0.08,0.8],'bandpass'); QPSK_in2=filter(B,A,QPSK_in); %接收端,解调 for i = 1:zero*N+num Idem(i) = QPSK_in2(i)*sqrt(2)*cos(2*pi*fc*t(i)); Qdem(i) = -QPSK_in2(i)*sqrt(2)*sin(2*pi*fc*t(i)); end %低通滤波器 [B,A] = butter(4,0.95,'low'); Idem=filter(B,A,Idem); Qdem=filter(B,A,Qdem); %匹配滤波 mtf = rcosfir(rf,NT,zero,fs,'sqrt'); Idem2 = conv(Idem,mtf); Qdem2 = conv(Qdem,mtf); %数据选择 for i = 1:zero*N Isel(i) = Idem2(i+num); Qsel(i) = Qdem2(i+num); end %提取码元 for i = 1:N I_sam(i) = Isel((i-1)*zero+1); Q_sam(i) = Qsel((i-1)*zero+1); end %判决 threshold = 0.0; for i = 1:N if I_sam(i)>=threshold I_final(i) = 1; else I_final(i) = -1; end if Q_sam(i)>=threshold Q_final(i) = 1; else Q_final(i) = -1; end end %并串变换 data_final(1:2:N-1) = I_final(1:2:N-1); data_final(2:2:N) = Q_final(1:2:N-1); data_final = (data_final+1)/2; [err,p_err]=biterr(data,data_final); figure; [h,w] = freqz(B,A); %画出滤波器频谱 plot(w/pi*fs/2,h);grid on; title('mplitude Response'); xlabel('Frequency (Hz)');ylabel('Amplitude'); figure; f = -1000/2:1:1000/2-1; S = fft(Idem(50:1:1049)); S = fftshift(S); plot(f,abs(S)/N);

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

C++11:一些微小的变化(新的数据类型、template表达式内的空格、nullptr、std::nullptr_t)

本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要 一、Template表达式内的空格 C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了 例如: vector&lt;list&lt;int&gt; &gt;; //C++11之前 vector&lt;list&lt;int&gt;&gt;; //C++11 二、nullptr ...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

【阿里P6面经】二本,curd两年,疯狂复习,拿下阿里offer

二本的读者,在老东家不断学习,最后逆袭

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

作者 | 伍杏玲出品 | CSDN(ID:CSDNnews)格子衬衫、常掉发、双肩包、修电脑、加班多……这些似乎成了大众给程序员的固定标签。近几年流行的“跨界风”开始刷新人们对程序员的...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

立即提问
相关内容推荐